英语法语西班牙语

Ad


OnWorks 网站图标

i686-linux-gnu-objcopy - 云端在线

在 OnWorks 免费托管服务提供商中通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器运行 i686-linux-gnu-objcopy

这是命令 i686-linux-gnu-objcopy 可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


objcopy - 复制和翻译目标文件

概要


对象复制 [-F 名称|--目标=名称]
[-I 名称|--输入目标=名称]
[-O 名称|--输出目标=名称]
[-B bfdarch|--二进制架构=bfdarch]
[-S|--全部剥离]
[-g|--strip-调试]
[-K 符号名|--保持符号=符号名]
[-N 符号名|--strip-符号=符号名]
[--strip-unneeded-symbol=符号名]
[-G 符号名|--keep-global-symbol=符号名]
[--localize-隐藏]
[-L 符号名|--localize-符号=符号名]
[--globalize-符号=符号名]
[-W 符号名|--弱化符号=符号名]
[-w|--通配符]
[-x|--丢弃所有]
[-X|--丢弃本地人]
[-b 字节|--字节=字节]
[-i [宽度]|--交错[=宽度]]
[--交错宽度=宽度]
[-j 剖面图|--仅部分=剖面图]
[-R 剖面图|--删除部分=剖面图]
[-p|--保留日期]
[-D|--启用确定性档案]
[-U|--禁用确定性档案]
[- 调试]
[--间隙填充=VAL]
[--pad-to=地址]
[--设置开始=VAL]
[--调整开始=增量]
[--更改地址=增量]
[--更改部分地址 剖面图{=,+,-}VAL]
[--更改部分-lma 剖面图{=,+,-}VAL]
[--更改部分-vma 剖面图{=,+,-}VAL]
[--更改警告[--no-change-警告]
[--设置部分标志 剖面图=标志]
[--添加部分 部分名称=文件名]
[--转储部分 部分名称=文件名]
[--更新部分 部分名称=文件名]
[--重命名部分 旧名=新名字[,标志]]
[--长节名称 {启用,禁用,保持}]
[--change-lead-char[--删除前导字符]
[--反向字节=NUM]
[--srec-len=IVAL[--srec-forceS3]
[--重新定义符号 =]
[--重新定义符号=文件名]
[- 削弱]
[--保持符号=文件名]
[--strip-符号=文件名]
[--strip-unneeded-symbols=文件名]
[--keep-global-symbols=文件名]
[--本地化符号=文件名]
[--全球化符号=文件名]
[--弱化符号=文件名]
[--添加符号 姓名=[部分:]折扣值[,标志]
[--alt-机器码=指数]
[--前缀符号=绳子]
[--前缀部分=绳子]
[--prefix-alloc-sections=绳子]
[--add-gnu-调试链接=文件路径]
[--保留文件符号]
[--only-keep-调试]
[--strip-dwo]
[--提取-dwo]
[--提取符号]
[--可写文本]
[--只读文本]
[- 纯的]
[--不纯]
[--文件对齐=NUM]
[--堆=尺寸]
[--图像库=地址]
[--节对齐=NUM]
[--堆栈=尺寸]
[--子系统=:主要.未成年人]
[--压缩调试部分]
[--解压缩调试部分]
[--矮人深度=n]
[--矮人开始=n]
[-v|--详细]
[-V|- 版]
[ - 帮帮我[- 信息]
入档 [输出文件]

商品描述


GNU 对象复制 实用程序将目标文件的内容复制到
另一个。 对象复制 使用 GNU BFD 库来读写对象
文件。 它可以以不同的格式写入目标对象文件
从源目标文件的那个。 的确切行为 对象复制 is
由命令行选项控制。 注意 对象复制 应该可以
在任何两种格式之间复制完全链接的文件。 但是,复制一个
任何两种格式之间的可重定位目标文件可能无法正常工作
预期。

对象复制 创建临时文件以进行翻译并删除它们
之后。 对象复制 使用 BFD 完成所有翻译工作; 它有
访问 BFD 中描述的所有格式,因此能够
无需明确告知即可识别大多数格式。

对象复制 可用于通过使用输出目标生成 S 记录
记录 (例如,使用 -O 记录).

对象复制 可用于通过使用输出生成原始二进制文件
目标 二进制 (例如,使用 -O 二进制)。 什么时候 对象复制 生成一个原始
二进制文件,它本质上会产生内容的内存转储
输入目标文件。 所有符号和重定位信息都将
被丢弃。 内存转储将从加载地址开始
最低部分复制到输出文件中。

生成 S 记录或原始二进制文件时,可能会有所帮助
使用 -S 删除包含调试信息的部分。 在一些
-R 将有助于删除包含信息的部分
二进制文件不需要。

笔记 - -对象复制 无法更改其输入文件的字节序。
如果输入格式有字节序(有些格式没有), 对象复制
只能将输入复制到具有相同的文件格式
字节序或没有字节序(例如, 记录)。 (但是,请参阅
--反向字节 选项。)

配置


入档
输出文件
分别是输入文件和输出文件。 如果不指定
输出文件, 对象复制 创建一个临时文件并破坏性地重命名
结果名称为 入档.

-I 名称
--输入目标=名称
考虑源文件的对象格式为 名称, 而不是
试图推断它。

-O 名称
--输出目标=名称
使用对象格式写入输出文件 名称.

-F 名称
--目标=名称
使用 名称 作为输入和输出的对象格式
文件; 即,只需将数据从源传输到目标,而无需
翻译。

-B bfdarch
--二进制架构=bfdarch
在将无架构的输入文件转换为
目标文件。 在这种情况下,输出架构可以设置为
bfdarch. 如果输入文件具有已知的
bfdarch. 您可以通过以下方式在程序中访问此二进制数据
引用由转换创建的特殊符号
过程。 这些符号称为_binary_目标文件_开始,
_二进制_目标文件_end 和 _binary_目标文件_尺寸。 例如你可以
将图片文件转换为目标文件,然后在
您的代码使用这些符号。

-j 剖面图
--仅部分=剖面图
仅将指定部分从输入文件复制到输出
文件。 可以多次给出此选项。 请注意,使用
此选项不当可能会使输出文件无法使用。
接受通配符 剖面图.

-R 剖面图
--删除部分=剖面图
删除任何匹配的部分 剖面图 从输出文件。
可以多次给出此选项。 注意使用这个
选项不当可能会使输出文件不可用。 通配符
字符被接受 剖面图. 使用两者 -j
-R 选项一起导致未定义的行为。

-S
--全部剥离
不要从源文件复制重定位和符号信息。

-g
--strip-调试
不要从源文件中复制调试符号或部分。

--strip-不需要的
去除重定位处理不需要的所有符号。

-K 符号名
--保持符号=符号名
剥离符号时,保留符号 符号名 即使它会
通常会被剥离。 可以多次给出此选项。

-N 符号名
--strip-符号=符号名
不要复制符号 符号名 从源文件。 这个选项
可以多次给予。

--strip-unneeded-symbol=符号名
不要复制符号 符号名 从源文件除非它是
搬迁需要。 可以多次给出此选项。

-G 符号名
--keep-global-symbol=符号名
只保留符号 符号名 全球的。 使所有其他符号本地化
到文件,以便它们在外部不可见。 这个选项
可以多次给予。

--localize-隐藏
在 ELF 对象中,标记所有具有隐藏或内部
本地可见性。 此选项适用于特定于符号的
本地化选项,例如 -L.

-L 符号名
--localize-符号=符号名
制作符号 符号名 本地文件,因此它不可见
外部。 可以多次给出此选项。

-W 符号名
--弱化符号=符号名
制作符号 符号名 虚弱的。 此选项可能会超过
一旦。

--globalize-符号=符号名
给符号 符号名 全局范围使其在外部可见
定义它的文件。 这个选项可能会被给予更多
不止一次。

-w
--通配符
允许正则表达式 符号名s 在其他命令中使用
线选项。 问号 (?)、星号 (*)、反斜杠 (\)
和方括号 ([]) 运算符可用于
符号名称。 如果符号名称的第一个字符是
感叹号 (!) 然后开关的意义相反
那个符号。 例如:

-w -W !foo -W fo*

会导致 objcopy 削弱所有以“fo”开头的符号
除了符号“foo”。

-x
--丢弃所有
不要从源文件中复制非全局符号。

-X
--丢弃本地人
不要复制编译器生成的局部符号。 (这些通常开始
L or ..)

-b 字节
--字节=字节
如果已通过 --交错 然后选择
开始要保持的字节范围 字节第 XNUMX 个字节。 字节
在 0 到 宽度-1,哪里 宽度 是给定的值
--交错 选项。

-i [宽度]
--交错[=宽度]
只复制一个范围 宽度 字节。 (标题数据不是
做作的)。 选择范围中的哪个字节开始复制
- 字节 选项。 选择范围的宽度
--交错宽度 选项。

此选项对于创建文件来编程 ROM 很有用。 这是
通常与“srec”输出目标一起使用。 注意 对象复制
如果您不指定 - 字节 选项。

默认交错宽度为 4,因此 - 字节 设置为 0,
对象复制 将从每四个字节中复制第一个字节
输入到输出。

--交错宽度=宽度
当与 --交错 选项,复制 宽度 一次字节。
要复制的字节范围的开始由 - 字节
选项,范围的范围设置为 --交错
选项。

此选项的默认值为 1。 宽度
字节 由设置的值 - 字节 选项不得超过
交错宽度由 --交错 选项。

此选项可用于为两个 16 位闪存创建映像
通过传递在 32 位总线中交错 -b 0 -i 4
--交错宽度=2-b 2 -i 4 --交错宽度=2
对象复制 命令。 如果输入是“12345678”,则输出
将分别为 '1256' 和 '3478'。

-p
--保留日期
将输出文件的访问和修改日期设置为
与输入文件相同。

-D
--启用确定性档案
操作地点 确定性 模式。 复制存档成员和
写入存档索引,使用零表示 UID、GID、时间戳和
对所有文件使用一致的文件模式。

If Binutils 配置了 --启用确定性档案,
那么这个模式默认是开启的。 它可以被禁用 -U
选项,如下。

-U
--禁用确定性档案
Do 不能 在操作 确定性 模式。 这是相反的
-D 上面的选项:复制存档成员并编写
归档索引,使用它们的实际 UID、GID、时间戳和文件模式
值。

这是默认设置,除非 Binutils 配置了
--启用确定性档案.

- 调试
如果可能,转换调试信息。 这不是
默认,因为仅支持某些调试格式,并且
转换过程可能非常耗时。

- 填补空白 VAL
填充部分之间的间隙 VAL. 此操作适用于
加载 地址 (LMA) 的部分。 它是通过增加
低地址段的大小,并填写
创造的额外空间 VAL.

--pad-to 地址
将输出文件填充到加载地址 地址. 这个做完了
通过增加最后一部分的大小。 额外的空间是
用指定的值填充 - 填补空白 (默认为零)。

--设置开始 VAL
将新文件的起始地址设置为 VAL. 不是所有的目标文件
格式支持设置起始地址。

--更改开始 增量
--调整开始 增量
通过添加更改起始地址 增量. 不是所有的目标文件
格式支持设置起始地址。

--更改地址 增量
--调整-vma 增量
更改所有段的 VMA 和 LMA 地址,以及
起始地址,通过添加 增量. 某些目标文件格式不
允许任意更改段地址。 请注意,这
不搬迁这些部分; 如果程序希望部分
加载到某个地址,这个选项用来改变
这些部分被加载到不同的地址,
程序可能会失败。

--更改部分地址 剖面图{=,+,-}VAL
--调整部分-vma 剖面图{=,+,-}VAL
设置或更改任何的 VMA 地址和 LMA 地址
部分匹配 剖面图。 如果 = 使用,段地址
被设置为 VAL。 除此以外, VAL 被添加到或减去
节地址。 请参阅下面的评论 --更改地址, 以上。
If 剖面图 不匹配输入文件中的任何部分,a
将发出警告,除非 --no-change-警告 用来。

--更改部分-lma 剖面图{=,+,-}VAL
设置或更改任何匹配的部分的 LMA 地址
剖面图. LMA 地址是节所在的地址
将在程序加载时加载到内存中。 通常这是
与 VMA 地址相同,即该段的地址位于
程序运行时,但在某些系统上,尤其是那些
程序保存在ROM中,两者可以不同。 如果 = 用来,
节地址设置为 VAL。 除此以外, VAL 添加到或
从段地址中减去。 请参阅下面的评论
--更改地址, 以上。 如果 剖面图 不匹配任何
输入文件中的部分,将发出警告,除非
--no-change-警告 用来。

--更改部分-vma 剖面图{=,+,-}VAL
设置或更改任何匹配段的 VMA 地址
剖面图. VMA 地址是节所在的地址
将在程序开始执行后定位。 一般
这与 LMA 地址相同,LMA 地址是
部分将被加载到内存中,但在某些系统上,尤其是
那些程序保存在 ROM 中的情况,两者可能不同。 如果
= 使用,段地址设置为 VAL。 除此以外, VAL is
添加到节地址或从节地址中减去。 看评论
--更改地址, 以上。 如果 剖面图 不匹配
输入文件中的任何部分,都会发出警告,除非
--no-change-警告 用来。

--更改警告
--调整警告
If --更改部分地址 or --更改部分-lma or
--更改部分-vma 使用,并且截面图案不
匹配任何部分,发出警告。 这是默认设置。

--no-change-警告
--无调整警告
不发出警告,如果 --更改部分地址 or
--调整部分LMA or --调整部分-vma 被使用,即使
节模式不匹配任何节。

--设置部分标志 剖面图=标志
为任何匹配的部分设置标志 剖面图。 该 标志
参数是一个逗号分隔的标志名称字符串。 公认的
名字是 分配, Contents, 加载, 空载, 只读, , data, ROM,
分享调试。 您可以设置 Contents 部分的标志
没有内容,但清除没有意义
Contents 包含内容的部分的标志——只需删除
部分代替。 并非所有标志对所有对象都有意义
文件格式。

--添加部分 部分名称=文件名
添加一个名为的新部分 部分名称 在复制文件时。 这
新部分的内容取自文件 文件名。 该
节的大小将是文件的大小。 仅此选项
适用于可以支持任意部分的文件格式
名称。 注意 - 可能需要使用 --设置部分标志
选项来设置新创建的部分的属性。

--转储部分 部分名称=文件名
放置名为的部分的内容 部分名称 进入文件
文件名,覆盖可能存在的任何内容
之前。 此选项与 --添加部分。 这
选项类似于 --仅部分 选项,但它确实
不创建格式化文件,它只是将内容转储为原始文件
二进制数据,而不应用任何重定位。 该选项可以是
指定不止一次。

--更新部分 部分名称=文件名
替换名为的部分的现有内容 部分名称
文件的内容 文件名. 该部分的大小将是
调整到文件的大小。 部分标志为
部分名称 将保持不变。 对于 ELF 格式文件,该部分要
段映射也将保持不变,这不是
可能使用 --删除部分 其次是 --添加部分。 该
可以多次指定选项。

注意 - 可以使用 --重命名部分--更新部分
从一个命令行更新和重命名一个部分。 在这
情况下,将原始部分名称传递给 --更新部分,并
原始和新部分名称 --重命名部分.

--添加符号 姓名=[部分:]折扣值[,标志]
添加一个名为的新符号 姓名 在复制文件时。 这个选项
可以多次指定。 如果 部分 给定,
符号将与该部分相关联,
否则它将是一个 ABS 符号。 指定一个未定义的
部分将导致致命错误。 没有检查
值,它将被视为指定的。 符号标志可以是
指定并且并非所有标志对所有目标文件都有意义
格式。 默认情况下,符号将是全局的。 特别的旗帜
'之前=其他符号' 将在前面插入新符号
指定 其他符号, 否则符号将被添加到
按照它们出现的顺序结束符号表。

--重命名部分 旧名=新名字[,标志]
重命名一个部分 旧名新名字,可选地改变
部分的标志 标志 正在进行中。 这个有好处
通过使用链接器脚本来执行重命名,因为输出
保留为目标文件,不会成为链接的可执行文件。

当输入格式为
二进制,因为这将始终创建一个名为 .data 的部分。 如果
例如,您想创建一个名为 .rodata 的部分
包含二进制数据,您可以使用以下命令行来
实现这一目标:

objcopy -I 二进制 -O -B \
--rename-section .data=.rodata,分配,加载,只读,数据,内容 \


--长节名称 {启用,禁用,保持}
控制处理“COFF”时对长段名称的处理
和“PE-COFF”对象格式。 默认行为, 保持,是
如果输入文件中存在长节名称,则保留长节名称。
enable关闭 选项强制启用或禁用使用
输出对象中的长节名称; 什么时候 关闭
效果,输入对象中的任何长节名称都将是
被截断。 这 enable 选项只会发出长节名称,如果
任何存在于输入中; 这与 保持,但
是否未定义 enable 选项可能会强制
在输出文件中创建一个空字符串表。

--change-lead-char
某些目标文件格式在开头使用特殊字符
符号。 最常见的此类字符是下划线,即
编译器通常在每个符号之前添加。 这个选项告诉 对象复制
在转换时更改每个符号的前导字符
目标文件格式之间。 如果目标文件格式使用
相同的前导字符,此选项无效。 否则,它
将添加一个字符,或删除一个字符,或更改一个字符,
作为适当的。

--删除前导字符
如果全局符号的第一个字符是特殊符号
目标文件格式使用的前导字符,删除
特点。 最常见的符号前导字符是下划线。
此选项将从所有全局中删除前导下划线
符号。 如果您想将对象链接在一起,这会很有用
具有不同符号约定的不同文件格式
名称。 这不同于 --change-lead-char 因为它
总是在适当的时候更改符号名称,无论
输出文件的目标文件格式。

--反向字节=NUM
使用输出内容反转节中的字节。 一节
长度必须能被给定的值整除,以便
交换才能发生。 反转发生在
进行交错。

此选项通常用于生成 ROM 映像
有问题的目标系统。 例如,在某些目标板上,
从 32 位 ROM 中取出的 8 位字重新组装在
小端字节序与 CPU 字节序无关。
根据编程模型,ROM 的字节序可能
需要修改。

考虑一个包含以下部分的简单文件
八个字节:12345678。

运用 --反向字节=2 对于上面的例子,字节
输出文件的顺序为 21436587。

运用 --反向字节=4 对于上面的例子,字节
输出文件的顺序为 43218765。

通过使用 --反向字节=2 对于上面的例子,后面跟着
--反向字节=4 在输出文件上,第二个字节
输出文件的顺序为 34127856。

--srec-len=IVAL
仅对 srec 输出有意义。 设置最大长度
正在制作的唱片 IVAL. 此长度涵盖两个地址,
data 和 crc 字段。

--srec-forceS3
仅对 srec 输出有意义。 避免生成 S1/S2
记录,创建仅限 S3 的记录格式。

--重新定义符号 =
更改符号的名称 , 至 . 这在以下情况下很有用
一个是尝试将两件事联系在一起,但你没有
源,并且存在名称冲突。

--重新定义符号=文件名
使用 --重新定义符号 到每个符号对“ " 列在
文件 文件名. 文件名 只是一个平面文件,带有一个符号
每行一对。 行注释可能由散列引入
特点。 可以多次给出此选项。

- 削弱
将文件中的所有全局符号更改为弱。 这可以
在构建将与其他对象链接的对象时很有用
对象使用 -R 链接器的选项。 该选项仅
当使用支持弱的目标文件格式时有效
符号。

--保持符号=文件名
使用 --保持符号 文件中列出的每个符号的选项
文件名. 文件名 只是一个平面文件,每个文件都有一个符号名称
线。 行注释可能由散列字符引入。 这个
选项可以多次给出。

--strip-符号=文件名
使用 --strip-符号 文件中列出的每个符号的选项
文件名. 文件名 只是一个平面文件,每个文件都有一个符号名称
线。 行注释可能由散列字符引入。 这个
选项可以多次给出。

--strip-unneeded-symbols=文件名
使用 --strip-不需要的符号 中列出的每个符号的选项
文件 文件名. 文件名 只是一个平面文件,带有一个符号
每行名称。 行注释可能由散列引入
特点。 可以多次给出此选项。

--keep-global-symbols=文件名
使用 --保留全局符号 文件中列出的每个符号的选项
文件名. 文件名 只是一个平面文件,每个文件都有一个符号名称
线。 行注释可能由散列字符引入。 这个
选项可以多次给出。

--本地化符号=文件名
使用 --localize-符号 文件中列出的每个符号的选项
文件名. 文件名 只是一个平面文件,每个文件都有一个符号名称
线。 行注释可能由散列字符引入。 这个
选项可以多次给出。

--全球化符号=文件名
使用 --globalize-符号 文件中列出的每个符号的选项
文件名. 文件名 只是一个平面文件,每个文件都有一个符号名称
线。 行注释可能由散列字符引入。 这个
选项可以多次给出。

--弱化符号=文件名
使用 --weak-symbol 文件中列出的每个符号的选项
文件名. 文件名 只是一个平面文件,每个文件都有一个符号名称
线。 行注释可能由散列字符引入。 这个
选项可以多次给出。

--alt-机器码=指数
如果输出架构有备用机器代码,请使用
指数th 代码而不是默认代码。 这在以下情况下很有用
机器被分配了一个官方代码,工具链采用了
新代码,但其他应用程序仍然依赖于原始代码
正在使用。 对于基于 ELF 的架构,如果 指数 替代
不存在则该值被视为一个绝对数
存储在 ELF 头的 e_machine 字段中。

--可写文本
将输出文本标记为可写。 此选项对以下情况没有意义
所有目标文件格式。

--只读文本
使输出文本写保护。 这个选项没有意义
适用于所有目标文件格式。

- 纯的
将输出文件标记为按需分页。 这个选项没有意义
适用于所有目标文件格式。

--不纯
将输出文件标记为不纯。 此选项对以下情况没有意义
所有目标文件格式。

--前缀符号=绳子
在输出文件中为所有符号添加前缀 绳子.

--前缀部分=绳子
将输出文件中的所有部分名称加上前缀 绳子.

--prefix-alloc-sections=绳子
在输出文件中为所有已分配部分的所有名称添加前缀
绳子.

--add-gnu-调试链接=文件路径
创建一个 .gnu_debuglink 部分,其中包含对
文件路径 并将其添加到输出文件中。 注意:文件在
文件路径 必须存在。 添加过程的一部分
.gnu_debuglink 部分涉及嵌入的校验和
调试信息文件的内容到部分中。

如果调试信息文件建立在一个位置,但它将
稍后安装到不同的位置,然后不要
使用安装位置的路径。 这 --add-gnu-调试链接
选项将失败,因为安装的文件尚不存在。
而是将调试信息文件放在当前目录中并使用
--add-gnu-调试链接 没有任何目录组件的选项,
喜欢这个:

objcopy --add-gnu-debuglink=foo.debug

在调试时,调试器将尝试寻找单独的
一组已知位置中的调试信息文件。 确切的一组
这些位置取决于所使用的分布,
但它通常包括:

“* 与可执行文件相同的目录。”
"* 包含可执行文件的目录的子目录"
称为 .debug

“* 全局调试目录,例如 /usr/lib/debug。”

只要调试信息文件已安装到其中之一
在调试器运行之前的位置一切都应该工作
正确。

--保留文件符号
剥离文件时,可能与 --strip-调试 or
--strip-不需要的, 保留任何指定源文件名的符号,
否则会被剥夺。

--only-keep-调试
剥离文件,删除任何不会被删除的部分的内容
被剥夺 --strip-调试 并离开调试部分
完整。 在 ELF 文件中,这会保留所有音符部分
输出。

注意 - 剥离部分的部分标题被保留,
包括它们的大小,但该部分的内容是
丢弃。 部分标题被保留,以便其他工具
可以将 debuginfo 文件与真正的可执行文件匹配,即使
该可执行文件已重定位到不同的地址空间。

目的是将此选项与
--add-gnu-调试链接 创建一个两部分的可执行文件。 一个
剥离的二进制文件将占用更少的 RAM 空间和
分发和第二个调试信息文件是
仅在需要调试能力时才需要。 建议的
创建这些文件的过程如下:

1.
“foo”然后...

1.
创建一个包含调试信息的文件。

1.
剥离的可执行文件。

1.
将调试信息的链接添加到剥离的
可执行文件。

注意---选择“.dbg”作为调试信息文件的扩展名
是任意的。 “--only-keep-debug”步骤也是可选的。 你
可以这样做:

1.
1.
1.
1.

即,指向的文件 --add-gnu-调试链接 可以是
完全可执行。 它不必是由
--only-keep-调试 开关。

注意---此开关仅用于完全链接的文件。
在目标文件中使用它是没有意义的
调试信息可能不完整。 除了 gnu_debuglink
功能目前仅支持存在一个文件名
包含调试信息,而不是一个文件名 -
每个对象文件的基础。

--strip-dwo
删除所有 DWARF .dwo 部分的内容,留下
剩余的调试部分和所有符号完好无损。 这个选项
供编译器用作 -gsplit-矮人
选项,它在 .o 文件和一个
单独的 .dwo 文件。 编译器生成所有调试信息
在同一个文件中,然后使用 --提取-dwo 复制选项
.dwo 部分到 .dwo 文件,然后 --strip-dwo 选项
从原始 .o 文件中删除这些部分。

--提取-dwo
提取所有 DWARF .dwo 部分的内容。 见
--strip-dwo 选项以获取更多信息。

--文件对齐 NUM
指定文件对齐方式。 文件中的部分将始终开始
在文件偏移量是这个数字的倍数。 这个默认
到 512。[此选项特定于 PE 目标。]

- 堆 储备
- 堆 储备,承诺
指定要保留的内存字节数(以及可选的
commit) 用作此程序的堆。 [这个选项是
特定于 PE 目标。]

--图像库 折扣值
使用 折扣值 作为您的程序或 dll 的基址。 这是
当您的程序或 dll 将使用的最低内存位置
已加载。 减少搬迁需要并提高性能
在你的 dll 中,每个都应该有一个唯一的基地址,而不是
重叠任何其他dll。 可执行文件的默认值为 0x400000,
和 0x10000000 用于 dll。 [此选项特定于 PE 目标。]

--节对齐 NUM
设置截面对齐。 内存中的部分将始终开始
地址是这个数字的倍数。 默认为
0x1000。 [此选项特定于 PE 目标。]

- 堆 储备
- 堆 储备,承诺
指定要保留的内存字节数(以及可选的
commit) 用作此程序的堆栈。 [这个选项是
特定于 PE 目标。]

--子系统
--子系统 :主要
--子系统 :主要.未成年人
指定您的程序将在哪个子系统下执行。 这
合法值 是“本机”、“窗口”、“控制台”、“posix”、
“efi-app”、“efi-bsd”、“efi-rtd”、“sal-rtd”和“xbox”。 你可以
还可以选择设置子系统版本。 数值也是
接受 . [此选项特定于 PE 目标。]

--提取符号
保留文件的部分标志和符号,但删除所有部分
数据。 具体来说,该选项:

*
*
*

此选项用于构建一个 符号 VxWorks 内核文件。 它
也可以是减小尺寸的有用方法 --只是符号
链接器输入文件。

--压缩调试部分
使用 zlib 和 SHF_COMPRESSED 压缩 DWARF 调试部分
精灵 ABI。 注意 - 如果压缩实际上会形成一个部分
,那么它就不会被压缩。

--压缩调试部分=无
--compress-debug-sections=zlib
--compress-debug-sections=zlib-gnu
--compress-debug-sections=zlib-gabi
对于 ELF 文件,这些选项控制 DWARF 调试部分的方式
压缩。 --压缩调试部分=无 相当于
--解压缩调试部分. --compress-debug-sections=zlib
--compress-debug-sections=zlib-gabi 相当于
--压缩调试部分. --compress-debug-sections=zlib-gnu
使用 zlib 压缩 DWARF 调试部分。 调试部分是
重命名开始 .zdebug 而不是 .调试. 注意 - 如果
压缩实际上会形成一个部分 ,那么它不是
压缩或重命名。

--解压缩调试部分
使用 zlib 解压缩 DWARF 调试部分。 原始部分
压缩部分的名称被恢复。

-V
- 版
显示版本号 对象复制.

-v
--详细
详细输出:列出所有修改的目标文件。 如果是
档案, 对象复制 -V 列出档案的所有成员。

- 帮帮我
显示选项的摘要 对象复制.

- 信息
显示显示所有架构和对象格式的列表
可用。

@文件
从中读取命令行选项 文件. 插入读取的选项
代替原来的@文件 选项。 如果 文件 不存在,或
无法读取,则该选项将按字面处理,而不是
除去。

中的选项 文件 由空格分隔。 一个空格
字符可以通过围绕整个选项包含在选项中
单引号或双引号中的选项。 任何字符(包括
反斜杠)可以通过在字符前加上前缀来包含
包含反斜杠。 这 文件 本身可能包含额外的
@文件 选项; 任何此类选项都将被递归处理。

使用 onworks.net 服务在线使用 i686-linux-gnu-objcopy


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad