用的是TI公司的DC-DC开发套件(EightChannelBuck)。在软件中有类似这样的语句:extern Uint16 *RamfuncsLoadStart, *RamfuncsLoadEnd, *RamfuncsRunStart; 这是不是只是变量声明,若是、变量定义在那个文件中??在工程中的的所有文件里都没有找到定义。但是编译也没有报错。请问这是怎么回事。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
用的是TI公司的DC-DC开发套件(EightChannelBuck)。在软件中有类似这样的语句:extern Uint16 *RamfuncsLoadStart, *RamfuncsLoadEnd, *RamfuncsRunStart; 这是不是只是变量声明,若是、变量定义在那个文件中??在工程中的的所有文件里都没有找到定义。但是编译也没有报错。请问这是怎么回事。
guolin liang 说:用的是TI公司的DC-DC开发套件(EightChannelBuck)。在软件中有类似这样的语句:extern Uint16 *RamfuncsLoadStart, *RamfuncsLoadEnd, *RamfuncsRunStart; 这是不是只是变量声明,若是、变量定义在那个文件中??在工程中的的所有文件里都没有找到定义。但是编译也没有报错。请问这是怎么回事。
extern是表示外部声明。只是你这几个变量比较特殊,他们一般是在cmd声明代码段的变量,所以IDE环境可能索引不到,你在cmd中可以看到
首先谢谢你的回复,但是我在CMD文件中仍然没有找定义。程序中类似这样的语句还有很多,比如:extern int16 *Buck_In1, *Buck_In2, *Buck_In3, *Buck_In4;。我觉得应该不是在CMD文件中。有人说这些变量可能封装在库中,不知道是不是这样。
guolin liang 说:首先谢谢你的回复,但是我在CMD文件中仍然没有找定义。程序中类似这样的语句还有很多,比如:extern int16 *Buck_In1, *Buck_In2, *Buck_In3, *Buck_In4;。我觉得应该不是在CMD文件中。有人说这些变量可能封装在库中,不知道是不是这样。
extern Uint16 *RamfuncsLoadStart, *RamfuncsLoadEnd, *RamfuncsRunStart;是用于代码搬移的,一般都在cmd中用于代码搬移段的定义中,他是LOAD_START()等直接定义的。
extern int16 *Buck_In1, *Buck_In2, *Buck_In3, *Buck_In4;这些如果索引不到的话,可能是被封装了,你可以看看是否有相关库。