|
(7)EXPORT及GLOBAL
EXPORT声明一个符号可被其他文件引用,相当于声明了一个全局变量。GLOBAL是EXPORT的同义词。
语法格式
EXPORT symbol {[WEAK]}
GLOBAL symbol {[WEAK]}
其中:symbol为声明的符号名称。它是区分大小写的。[WEAK]选项声明其他同名符号优先于本符号被引用。
使用说明
使用EXPORT伪操作声明一个源文件中的符号,使得该符号可被其他源文件引用。
示例40 EXPORT、 GLOBAL伪操作举例。
AREA Example,CODE,READONLY
EXPORT fun ;声明下面的函数名称fun可被其他源文件引用。
fun ADD R0,R0,R1
(8)IMPORT
IMPORT伪操作告诉编译器当前的符号不是在本源文件中定义的,而是在其他源文件中定义的;在本源文件中可能引用该符号,而且不论本源文件是否实际引用该符号,该符号都将加入到本源文件的符号表中。
语法格式
IMPORT symbol {[WEAK]}
其中:symbol为声明的符号名称,它是区分大小写的。[WEAK]指定这个选项后,如果symbol在所有的源文件中都没有被定义,编译器也不会产生任何错误信息,同时编译器也不会在当前没有被INCLUDE进来的库中去查找该符号。
使用说明
使用IMPORT 伪操作声明一个符号是在其他源文件中定义的。如果链接器在链接处理时不能解析该符号,而且IMPORT伪操作中没有指定[WEAK]选项,则链接器将会9报告错误。如果链接器在链接处理时不能解析该符号,而IMPORT伪操作中指定了[WEAK]选项,则链接器将不会报告错误,而是进行下面的操作:
如果该符号被B或者BL指令引用,则该符号被设置为下一条指令的地址,该B或者BL指令相当于一条NOP指令。例如“B sign,sign”不能被解析,则该指令被忽略为NOP指令,继续执行下面地址的指令,也就是将sign理解为下一条指令的地址。
其他情况下该符号被设置为0.
凌阳教育,专注嵌入式人才培养多年,完善的培养方案,强大的师资,合理的课程安排,成功从小白蜕变为嵌入式工程师。想了解凌阳教育,或者获得更多嵌入式学习资料的免费下载,请点击www.sunplusedu.com访问凌阳教育官网