gpt4 book ai didi

macos - OS X 有两个链接器吗?一静态一动态?

转载 作者:行者123 更新时间:2023-12-04 23:23:30 26 4
gpt4 key购买 nike

问题是,我发现 Mac OS X 有一个 dyld(我理解的是动态链接器),但也有一个简单的链接器 ld(我理解的是静态链接器)。

问题是:真的是这样吗?两个链接器?一静态一动态?

为什么他们决定有两个? Linux 只有一个链接器 (ld) 可以同时进行静态和动态链接。

最佳答案

您误解了“链接”的含义。或者,换个角度想,你还没有意识到它有两个含义。

如果有帮助,请考虑 dyld如动态装载机而不是“链接器”。 dyld是将可执行文件引用的动态库加载到进程地址空间的程序。它仍然涉及链接,因为它需要解析符号引用。

你从不调用 dyld作为构建过程的一部分。您总是使用 ld或者,更典型的是,您要求编译器链接您的程序,然后它会调用 ld代表你。 dyld仅在运行时使用。

当您断言 Linux 没有这种区别时,您是不正确的。 Linux 有一个动态加载器, ld.so ,它不同于静态链接器,ld .

关于macos - OS X 有两个链接器吗?一静态一动态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29335332/

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