【发布时间】:2009-10-19 14:15:46
【问题描述】:
从文档的描述来看,它们似乎做了同样的事情,除了“并非所有系统”都支持共享和“只有部分系统”支持符号(不清楚这些系统是否是同一组系统):
-共享 生成一个共享对象,然后可以将其与其他对象链接到 形成一个可执行文件。并非所有系统 支持这个选项。对于可预测的 结果,您还必须指定 相同的一组选项用于 生成代码(-fpic、-fPIC 或模型 子选项)当你指定这个 选项1]
-象征性的 构建共享对象时绑定对全局符号的引用。警告 关于任何未解决的参考 (除非被链接编辑器覆盖 选项 -Xlinker -z -Xlinker defs)。 只有少数系统支持这个 选项。
我怀疑区别在于“生成一个共享对象,然后可以将其与其他对象链接以形成可执行文件”部分,但这听起来像是任何库都适用的东西。这是否意味着生成的共享对象也可以静态链接?
【问题讨论】:
标签: c gcc shared-libraries dynamic-linking compiler-flags