macOS 中的动态共享库

Dynamic shared libraries in macos

提问人:widesense 提问时间:10/5/2023 更新时间:10/5/2023 访问量:41

问:

为什么我需要在 macos 中使用 install_name_tool,而不是在 linux 机器中使用,以及它到底有什么作用。在我正在从事的一个项目中,我可以看到install_name_tool -add_rpath 。如果我使用 LIBRARY_PATH 和 DYLD/LD LIBRARY PATH?,我可以省略它吗?

静态和动态共享库是否相同,除了加载时间和可执行文件大小外?

c macOS 静态 动态库

评论

0赞 Some programmer dude 10/5/2023
macOS 使用不同类型的动态库(“dylib”或其他东西)。因此,这些库需要特定于 macOS 的工具也就不足为奇了。
0赞 Some programmer dude 10/5/2023
但是,在几乎所有平台上,静态库通常只不过是目标文件的存档。与静态库的链接几乎与与单个对象文件本身的链接相同。动态库或共享库更像是一个独立的可执行文件。
0赞 widesense 10/5/2023
Mac Intel 机器上也需要install_name_tool吗?
0赞 G.M. 10/5/2023
阅读文档,是的,在较旧的基于 Intel 的 Mac 上也需要它。关于MacOS和共享对象,我在这里找到了很多有用的信息。

答: 暂无答案