这是 nmposix 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
nm — 写入目标文件的名称列表 (发展)
概要
nm [-APv] [-g|-u] [-t 格式] 文件...
nm [-APv] [-efox] [-g|-u] [-t 格式] 文件...
商品描述
- nm 实用程序应显示出现在目标文件中的符号信息,可执行
文件或目标文件库命名为 文件. 如果没有符号信息可用于
有效的输入文件, nm 实用程序应报告该事实,但不应将其视为错误
状态。
写入数值时使用的默认基数未指定。 符合 XSI 标准
系统,应为十进制。
配置
- nm 实用程序应符合 POSIX.1-2008 的基本定义卷, 部分 12.2,
公用事业 句法 指南.
应支持以下选项:
-A 在每一行上写下对象的完整路径名或库名。
-e 仅写入外部(全局)和静态符号信息。
-f 产生完整的输出。 写出多余的符号(的.text, 。数据及 .bss), 一般
压制。
-g 仅写入外部(全局)符号信息。
-o 以八进制写入数值(相当于 -t o).
-P 以可移植的输出格式写入信息,如 STDOUT 中指定的那样
部分。
-t 格式 以指定的格式写入每个数值。 格式应依赖
在用作的单个字符上 格式 选项参数:
d 偏移量以十进制写入(默认)。
o 偏移量以八进制写入。
x 偏移量以十六进制写入。
-u 只写未定义的符号。
-v 按值而不是符号名称对输出进行排序。
-x 以十六进制写入数值(相当于 -t x).
操作数
应支持以下操作数:
文件 目标文件、可执行文件或目标文件库的路径名。
标准输入
请参阅输入文件部分。
INPUT FILES
输入文件应该是一个目标文件,一个目标文件库,其格式与
那些由 ar 用于链接编辑或可执行文件的实用程序。 这 nm 效用
可以接受输入文件的其他实现定义的对象库格式。
环境 变数
以下环境变量会影响执行 nm:
朗 为未设置或未设置的国际化变量提供默认值
空值。 (参见 POSIX.1-2008 的基本定义卷, 部分 8.2,
国际化 变量 为国际化优先
用于确定语言环境类别值的变量。)
LC_ALL 如果设置为非空字符串值,则覆盖所有其他字符串的值
国际化变量。
LC_COLLATE
确定符号名称的字符整理信息的区域设置和
符号值整理序列。
LC_CTYPE 确定用于解释文本数据字节序列的语言环境
作为字符(例如,单字节而不是多字节字符
论据)。
LC_消息
确定应该用于影响格式和内容的语言环境
写入标准错误的诊断消息。
路径 确定用于处理的消息目录的位置 LC_消息.
异步 新闻
默认。
标准输出
如果输入文件中存在符号信息,则对于每个文件或每个
档案馆成员 nm 实用程序应将以下信息写入标准
输出。 默认情况下,格式未指定,但输出应按符号排序
根据当前语言环境中的排序规则命名。
* 库或对象名称,如果 -A 被指定
* 符号名称
* 符号类型,应为以下单个字符之一或
由单个字符表示的实现定义类型:
全球绝对符号。
局部绝对符号。
B 全局“bss”(即未初始化的数据空间)符号。
b 本地 bss 符号。
D 全局数据符号。
d 本地数据符号。
T 全局文本符号。
t 本地文本符号。
U 未定义符号。
* 符号的值
* 与符号相关的大小(如果适用)
此信息可能由特定于以下内容的附加信息补充
实施。
如果 -P 选项被指定,以前的信息应使用
以下便携式格式。 三个版本根据是否不同 -t d, -t o或
-t x 分别指定为:
"%s%s %s %d %d\n", <图书馆/对象 姓名>,姓名>,类型>,
<折扣值>,尺寸>
"%s%s %s %o %o\n",图书馆/对象 姓名>,姓名>,类型>,
<折扣值>,尺寸>
"%s%s %s %x %x\n",图书馆/对象 姓名>,姓名>,类型>,
<折扣值>,尺寸>
在哪里图书馆/对象 姓名> 格式如下:
*如果 -A 未指定,图书馆/对象 姓名> 应为空字符串。
*如果 -A 被指定和相应的 文件 操作数未命名库:
"%s: ", <文件>
*如果 -A 被指定和相应的 文件 操作数命名一个库。 在这种情况下,
<对象 文件> 应命名库中包含符号的目标文件
描述:
"%s[%s]: ", <文件>,对象 文件>
If -A 未指定,则如果多个 文件 操作数被指定或者如果只有一个
文件 指定操作数并命名一个库, nm 应写一行标识
在包含这些符号的行之前包含以下符号的对象,在
形成:
* 如果对应 文件 操作数未命名库:
"%s:\n", <文件>
* 如果对应 文件 操作数命名一个库; 在这种情况下,对象 文件> 应
是库中包含以下符号的文件的名称:
"%s[%s]:\n", <文件>,对象 文件>
If -P 已指定,但 -t 不是,格式应该是 -t x 已被指定。
斯特德
标准错误应仅用于诊断消息。
OUTPUT FILES
无。
EXTENDED 商品描述
无。
退出 状态
应返回以下退出值:
0 成功完成。
>0 发生错误。
后果 OF 错误
默认。
- 以下 部分 旨在 内容丰富。
申请须知 用法
动态链接机制使此实用程序在应用于
可执行文件,因为动态链接的可执行文件可能会省略许多库例程
可以在静态链接的可执行文件中找到。
示例
无。
基本原理
的历史实现 nm 对数字输出使用了不同的基数并提供了
报告的不同默认类型的符号。 这 -t 格式 选项,类似于
用在 od 和 字符串, 可用于指定数字基数; -g 和 -u 可
用于限制输出量或输出中包含的符号类型。
使用的妥协 -t 格式 而不是 运用 -d, -o, 和其他类似的选项是
由于含义不同而有必要 -o 实现之间。 这 -o
此处提供了来自 BSD 的选项作为 -A 以免与 -o 来自系统 V
(已在此处提供为 -t 和 -o 在符合 XSI 的系统上)。
选项列表比历史提供的选项列表显着减少
实现。
- nm description 是 System V 和 BSD 的子集 nm 没有指定的实用程序
默认输出。
人们认识到动态链接机制使该实用程序的意义不大
当应用于可执行文件时(因为动态链接的可执行文件可能会省略
在静态链接的可执行文件中可以找到许多库例程),但是
的值 nm 在软件开发过程中被认为超过了其他限制。
默认输出格式为 nm 因历史差异未具体说明
实现。 这 -P 添加了选项以允许某种类型的便携式输出格式。
在比较了 SunOS、BSD、SVR3 和 SVR4 中使用的不同格式后,
决定创建一个与这四个系统中任何一个的当前格式都不匹配的。
设计的格式易于人类解析,易于在 shell 脚本中解析,并且
不需要因地区而异(因为不包括英文说明)。 全部
的系统目前有可用的信息来使用这种格式。
给出的格式 nm 标准输出使用字段之间的字符,可以是任何
数量对齐列所需的字符。 单字符类型
被选择以匹配历史实践,以及实施的要求
添加也是单个字符,使 shell 脚本更容易解析信息。
未来 如何前往
无。
使用 onworks.net 服务在线使用 nmposix