gpt4 book ai didi

c++ - 静态和动态链接库

转载 作者:太空宇宙 更新时间:2023-11-04 11:50:44 25 4
gpt4 key购买 nike

我有一些关于链接库的问题。

链接器如何决定我要链接的库是静态链接还是动态链接?是由文件扩展名决定的吗(.a/.so)?

是否可以动态链接 .a 库?

是否可以在没有源代码的情况下将 .a 库转换为 .so 库?

最佳答案

  1. 链接器通常通过查看扩展来决定如何链接库,但这在很大程度上取决于链接器。 AIX 链接器有一些相当奇怪的行为。此外,如果您在同一个地方同时拥有 .so 和 .so 版本的库,您为链接器提供的命令行开关将决定它使用哪一个
  2. 有点。您可以将 .a 链接到 .so 但会出现性能问题 - 共享库应使用与位置无关的代码构建以获得最佳性能。根据代码的不同,链接器可能会拒绝链接它,因为它无法修补重定位信息。但是您不能告诉链接器将 .a 视为 .so
  3. 如上 - 也许吧。

关于c++ - 静态和动态链接库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18402213/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com