c - 共享库中未定义的外部符号

标签 c ios linker undefined-symbol nm

我最近在 iOS SDK4.3 的 System.B.dylib 库上运行了 nm -m -p -g 并且惊讶地发现了很多符号标记为 (undefined) (external)。为什么以及何时将 undefined symbol 标记为外部?我可以理解标记为 lazyweak 的未定义外部符号,但这些不是。许多 pthread_xxx 函数都属于这一类。然而,当我链接到这个库时,所有的符号都被解析了。 pthread_xxx 符号在 \usr\lib\system 文件夹中的一个库中定义,因此我假设它们从那里得到满足。它在链接过程中如何工作?

最佳答案

自从我成为 nmld C 编码忍者以来已经有一段时间了,但我认为这仅意味着这个链接还有其他库。

关于c - 共享库中未定义的外部符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7503249/

相关文章:

ios - UIImage 的最大宽度?

ios - UIPopoverController 内的导航

c++ - 无法为arm-none-linux-gnueabi-g++编译器找到-lpaho-mqtt3c

gcc - 为什么针对已安装的glibc编译的程序不能正常运行?

c - 来自 "The C Programming Language"的代码如何工作?

c - UNICODE 和 _UNICODE 之间的区别

iphone - SWRevealViewController - 知道显示哪个 ViewController

ios - clang : error: linker command failed with exit code 1 (use -v to see invocation) when doing unit test on xcode

c - 如何通过对结构中的名称使用 strcmp 将节点添加到列表中?

c - 在 C 中,为什么比率 10.0/100 不同于 0.1?