gpt4 book ai didi

objective-c - 使用-lobjc 还是不使用-lobjc?

转载 作者:太空狗 更新时间:2023-10-30 03:33:13 24 4
gpt4 key购买 nike

GCC 手册说:

file.m
    Objective-C source code. Note that you must link with thelibobjc
    library yo make an Objective-C program work.

和:

-lobjc
    You need this special case of the-loption in order to link an
    Objective-C or Objective-C++ program.

但是,我可以简单地编译一个程序:

$ cc prg.m -framework Foundation

当您包含框架时,它是链接器默认值吗?如果有,它在哪里记录在案?该程序无论如何都会被链接:

$ otool -L a.out
a.out:
/System/Library/Frameworks/Foundation.framework/.../Foundation (...)
/usr/lib/libSystem.B.dylib (...)
--> /usr/lib/libobjc.A.dylib (...)
/System/Library/Frameworks/CoreFoundation.f...k/.../CoreFoundation (...)

最佳答案

这是因为 Foundation 框架已经与 libobjc 链接。

因此在 OSX 上,只有当您不链接 Foundation 框架(这种情况很少见)时,您才需要 -lobjc 选项。

关于objective-c - 使用-lobjc 还是不使用-lobjc?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7387925/

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