【发布时间】:2025-12-06 08:45:01
【问题描述】:
有没有办法查看目标文件并知道可以链接到哪些符号?假设调试信息可用。我知道有些符号是未定义的,但我想知道是否有办法查看目标文件并知道“是的,我是否可以调用该函数”
【问题讨论】:
-
取决于您的工具链。对于 gcc 或 clang,您可以使用
nm工具列出目标文件或库的符号。 -
是的,所以我使用 nm,但我不清楚哪些符号可以链接到
-
如果你打电话给
man nm,会有一个用于指示哪些符号是公开可见的字母的解释。 -
公开可见是什么意思?我假设是可链接的,但如果未定义的符号正确,那不一定能防止链接错误?
-
“什么是公开可见的?” 可从其他 .o 或 .a 文件链接。