【发布时间】:2014-07-27 04:19:57
【问题描述】:
ld-linux.so 的手册页提到了解析符号,但没有解释这个概念。
http://man7.org/linux/man-pages/man8/ld.so.8.html
我认为有问题的短语也在 ld 和 linux 之外使用。
解析符号是什么意思?我经常看到这个短语,但我从未见过定义。
导致这个问题的原因是,我确定解析变量的符号是否会保证变量的构造,或者解析符号是否只是说明变量的存在。这个问题与这个有关:
Force Eager Initialization of Static Variables in Dynamically Linked Libs
【问题讨论】:
-
@Mat 我想将问题重新集中在更具体的问题上,“符号解析是否保证构造?”。由于此问题已正确标记为 dup,我应该编辑此问题还是打开一个新问题?
-
符号解析不能“保证构造”,你的水平不对。动态或静态链接中的符号解析仅将事物(函数/数据)映射到实际地址,以便程序可以运行。保证构建与否的是您的语言,而不是链接器本身。
标签: c++ ld dynamic-linking