参考gcc的reference:

弱符号:

若两个或两个以上全局符号(函数或变量名)名字一样,而其中之一声明为weak symbol(弱符号),则这些全局符号不会引发重定义错误。链接器会忽略弱符号,去使用普通的全局符号来解析所有对这些符号的引用,但当普通的全局符号不可用时,链接器会使用弱符号。当有函数或变量名可能被用户覆盖时,该函数或变量名可以声明为一个弱符号。弱符号也称为weak alias(弱别名)。

怎样声明弱符号:

通过alias,结合weak属性,声明一个弱符号,例如:

int __centon()
   2: {
return 100;
   4: }
   5:  
)));

这里centon是__centon的若别名。

在C++里需要指定编译目标的”mangled name”。

相关文章:

  • 2021-11-07
  • 2021-12-09
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-02
  • 2021-07-26
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-06-18
  • 2022-12-23
  • 2022-12-23
  • 2021-11-29
  • 2021-06-09
  • 2021-07-03
相关资源
相似解决方案