linux系统nm相关命令

不及物动词 其他 229

回复

共3条回复 我来回复
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    nm命令是Linux系统中一个非常有用的工具,用于查看和分析二进制目标文件的符号表信息。这些符号表信息包括函数、变量、对象以及其他定义的符号的地址和类型等。nm命令可以帮助开发者了解目标文件中包含的符号信息,对于调试和分析程序非常有帮助。

    下面介绍一些常用的nm命令及其功能:

    1. nm -D 或者 nm –dynamic:列出动态符号表中的符号。动态符号表包含在可执行文件和动态链接库中共享的符号。

    2. nm -s 或者 nm –size-sort:按照符号的大小进行排序,并打印出符号的大小。

    3. nm -C 或者 nm –demangle:将C++的符号名进行反转义,更容易阅读。

    4. nm -A 或者 nm –print-file-name:在每个符号的前面显示包含该符号的文件名。

    5. nm -l 或者 nm –line-numbers:显示每个符号的行号,并与源代码进行关联。

    6. nm -r 或者 nm –reverse-sort:按照字母顺序的相反顺序排列符号。

    7. nm -u 或者 nm –undefined-only:只列出未定义的符号。

    8. nm -p 或者 nm –portability:输出符号表的兼容格式。

    以上是一些常用的nm命令选项,通过使用这些选项,我们可以根据需要进行符号表的查看和分析。在Linux系统中,nm命令是一个非常有用的工具,能够帮助开发者进行程序的调试和分析。

    2年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    在Linux系统中,”nm”是一个非常有用的命令,用于查看和分析二进制程序中的符号表信息。下面是一些常用的”nm”命令及其功能解释:

    1. nm [options] :最基本的用法,查看指定文件中的符号表信息。可以使用多个文件作为参数,逐个查看它们的符号表。

    2. nm -A :以ASCII形式显示符号表信息。默认的输出格式是十六进制。

    3. nm -n :在符号表中显示每个符号的名字。

    4. nm -C :将C++的符号名还原成原始的形式。默认情况下,nm命令会对C++符号名进行名称修饰,以区分函数的重载和重写。

    5. nm -D :只显示动态符号表中的符号。动态符号表包含程序运行时需要的动态链接库中的符号。

    6. nm -g :只显示全局符号表中的符号。全局符号表包含程序中定义的全局变量和函数。

    7. nm -p :按照符号地址的顺序显示符号表。

    8. nm -t d :按照符号类型进行排序显示符号表。

    9. nm -u :只显示未定义的符号,即在当前文件中引用但未在当前文件中定义的符号。

    10. nm -A -S :以ASCII形式显示符号表信息,并显示每个符号的大小。

    除了这些常用选项外,nm命令还有其他一些选项用于进一步定制输出的格式和内容。可以通过man nm命令查看更详细的帮助信息。使用nm命令可以帮助程序员从二进制文件中获取关于符号表的有用信息,从而更好地了解和调试程序。

    2年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    在Linux系统中,经常会使用到一些与二进制文件相关的命令,其中一个常用的命令是`nm`。`nm`命令用于显示二进制文件中的符号表,它能够列出二进制文件中定义的符号的名称和值。

    `nm`命令通常用于以下几个方面:

    1. 查看二进制文件中的符号表:可以通过`nm`命令查看一个二进制文件中定义的符号。符号包括函数、全局变量、静态变量、常量等。

    2. 检查库文件中的符号:可以通过`nm`命令查看一个库文件中定义的符号。通过这种方式,可以确定一个库文件中是否包含某个特定的符号,并查看该符号的名称和值。

    下面是`nm`命令的一些常用选项和用法:

    “`shell
    nm [options]
    “`

    常用选项:

    – `-A`:显示所有符号,包括未导出的符号。
    – `-C`:显示符号的特殊字符。
    – `-D`:将动态符号表与静态符号表合并。
    – `-g`:只显示外部(全局)符号。
    – `-p`:显示符号的位置。
    – `-u`:只显示未定义的符号。
    – `-U`:只显示已定义的未使用符号。
    – `-w`:禁用警告信息。
    – `-f `:指定输出格式,如`posix`、`bsd`、`sysv`,默认是`sysv`。

    其中,``参数指定要查看符号表的二进制文件。

    下面是`nm`命令的一些使用示例:

    1. 查看可执行文件中的符号:

    “`shell
    nm
    “`

    这个命令会显示可执行文件中定义的符号,并包括它们的值和类型。

    2. 查看库文件中的符号:

    “`shell
    nm “`

    这个命令会显示库文件中定义的符号,并包括它们的值和类型。

    3. 查看库文件中某个特定符号的信息:

    “`shell
    nm | grep
    “`

    这个命令会显示库文件中符合条件的特定符号的信息。可以使用`grep`命令结合`nm`命令来进行筛选。

    4. 查看库文件中未使用的符号:

    “`shell
    nm -U “`

    这个命令会显示库文件中已定义但未使用的符号。

    5. 使用其他格式输出:

    “`shell
    nm -f
    “`

    这个命令可以使用不同的输出格式来显示符号表,如`posix`、`bsd`、`sysv`等。

    此外,`nm`命令还有许多其他选项和用法。可以通过`man nm`命令查看`nm`命令的详细帮助文档。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部