【发布时间】:2026-01-24 09:05:02
【问题描述】:
我最近在 iOS SDK4.3 的System.B.dylib 库上运行了nm -m -p -g,惊讶地发现很多标记为(undefined) (external) 的符号。为什么以及何时将未定义的符号标记为外部?我可以理解标记为lazy 或weak 的未定义外部符号,但这些不是。许多pthread_xxx 函数都属于这一类。但是,当我与此库链接时,所有符号都已解析。 pthread_xxx 符号是在 \usr\lib\system 文件夹中的一个库中定义的,所以我假设它们从那里得到满足。在链接期间它是如何工作的?
【问题讨论】:
标签: c ios linker undefined-symbol nm