汕头市建筑信息网站疫情最新消息
Linux的nm
命令主要用于列出对象文件中的符号。以下是一些使用示例:
-
基本用法:只需运行’nm’命令,并将对象文件的名称作为输入传递给它。例如,我使用’nm’命令与’apl’elf 文件:
nm apl
。 -
在输出中为每个符号前面添加文件名:可以使用-A命令行选项来实现这一点。例如:
nm -A apl
。 -
使nm显示调试符号:要使nm在输出中也显示调试符号,使用-a命令行选项。例如:
nm -a apl
。 -
使nm解码低级符号名称:如果你想,你甚至可以强制nm将低级符号名称解码为用户级名称。这可以通过使用-C命令行选项来实现。例如:
nm -C apl
。 -
显示引用某个符号的对象文件:以下命令显示了在我当前目录中引用符号‘func’的所有对象文件:
$ nm -A ./*.o | grep func
。 -
在可执行文件中显示所有未定义的符号:以下命令列出了可执行文件‘1’中的所有未定义符号:
$ nm -u 1
。
nm
命令默认的排序方式是按照符号在文件中出现的顺序。但是,你可以使用以下选项来改变排序方式:
-
按地址数字排序:使用
-n
或者-v
或者--numeric-sort
选项,可以按照符号的地址数字进行排序。例如:nm -n apl
。 -
不排序:如果你不想对符号进行任何排序,只需在命令中加入
-p
或者--no-sort
选项。例如:nm -p apl
。 -
反向排序:如果你想从文件的末尾开始显示符号表,可以使用
-r
选项。例如:nm -r apl
。
至于查找符号,你可以使用管道和grep命令来查找特定的符号。例如,如果你想查找名为“func”的符号,你可以这样做: nm apl | grep func
。这将会在输出中查找包含“func”的所有行。
以上就是一些基本的使用示例,更多详细信息和选项,你可以参考man nm
来获取。
参考链接:https://www.explainshell.com/explain/1/nm