一、二者的区别
”强弱符号关系“也就是我们平时说的定义与声明的关系。
1、强符号:也就是函数定义。是初始化了的全局变量。
2、弱符号:也就是函数声明。是未初始化的全局变量。
二、二者之间的规则
1、不允许强符号被多次定义(即不同的目标文件中不能有同名的强符号)。但允许弱符号出现多次。可以对全局变量和函数进行重复声明,因为声明是弱符号。
2、如果一个符号再某个目标文件中是强符号,在其他文件中是弱符号,选择强符号。 (同名符号作用域以最前面的符号为准)
3、如果一个符号在所有目标文件中都是弱符号,则选择其中占空间最大的哪一个。
比如:A->global 为int型
B->global 为double x型
A与B链接后,符号global占8个字节。
强弱符号规则
最新推荐文章于 2023-04-14 23:02:28 发布