弱符号 弱符号Weak symbol是链接器在生成ELF文件的过程中使用的一种特殊属性符号默认情况下如果没有特别声明目标文件里面的符号都是强符号在链接过程中一个强符号会优先于一个同名的弱符号相比之下两个同名强符号一起链接会出现链接错误当链接一个可执行文件弱符号可以不定义但对于强符号如果没有定义连接器会产生一个符号未定义错误 undefined symbol使用弱符号的目的是当不确定这个符号是否被定义的情况下链接器也可以成功链接出ELF文件适用于某些模块还未实现的情况下其他模块的先行调试 弱符号在C语言和C语言的规范里面没有被提及所以使用弱符号的代码移植性不是非常好