首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何读取nm命令: nm选项-T和-U (未定义)是什么意思?

如何读取nm命令: nm选项-T和-U (未定义)是什么意思?
EN

Stack Overflow用户
提问于 2017-05-04 01:22:13
回答 1查看 2.8K关注 0票数 3

我怀疑'libsimint.a‘有链接错误。

代码语言:javascript
复制
Linker messages (if any) follow...
/home/.../simint/lib/libsimint.a(shell.c.o): In function `simint_copy_shell':
shell.c:(.text+0x126): undefined reference to `__intel_ssse3_rep_memcpy'
/home/.../simint/lib/libsimint.a(shell.c.o): In function`simint_normalize_shells':
shell.c:(.text+0x4e3): undefined reference to `__svml_pow4'

我尝试了nm命令来解决这个问题:

代码语言:javascript
复制
>> nm libsimint.a |grep __intel_ssse3_rep_memcpy
U __intel_ssse3_rep_memcpy

>> nm libsimint.a |grep simint_copy_shell
0000000000000090 T simint_copy_shell

根据我对上面的理解(在nm man的帮助下),在代码中提到了simint_copy_shell函数,但是__intel_ssse3_rep_memcpy没有在编译我们的libsimint的其他库中定义。有人能证实这一点或补充任何澄清吗?谢谢

(我正在使用gcc编译和链接一个大代码,该代码是用icpc编译的,但实际上是用icpc编译的。)

EN

回答 1

Stack Overflow用户

发布于 2017-05-04 02:03:54

U的意思是“未定义的”--对象有对符号的引用,但没有定义

T表示在文本段中全局定义--对象定义并导出符号

手册页(man nm)列出了所有这些类型代码。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43766408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档