英语法语西班牙语

Ad


OnWorks 网站图标

h8300-hms-objcopy - 云端在线

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

这是命令 h8300-hms-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=符号名]
[-L 符号名--localize-符号=符号名]
[-W 符号名--弱化符号=符号名]
[-w--通配符]
[-x--丢弃所有]
[-X--丢弃本地人]
[-b 字节--字节=字节]
[-i 交错--交错=交错]
[-j 部分名称--仅部分=部分名称]
[-R 部分名称--删除部分=部分名称]
[-p--保留日期]
[- 调试]
[--间隙填充=VAL]
[--pad-to=地址]
[--设置开始=VAL]
[--调整开始=增量]
[--更改地址=增量]
[--更改部分地址 部分{=,+,-}VAL]
[--更改部分-lma 部分{=,+,-}VAL]
[--更改部分-vma 部分{=,+,-}VAL]
[--更改警告[--no-change-警告]
[--设置部分标志 部分=标志]
[--添加部分 部分名称=文件名]
[--重命名部分 旧名=新名字[,标志]]
[--change-lead-char[--删除前导字符]
[--srec-len=IVAL[--srec-forceS3]
[--重新定义符号 =]
[--重新定义符号=文件名]
[- 削弱]
[--保持符号=文件名]
[--strip-符号=文件名]
[--strip-unneeded-symbols=文件名]
[--keep-global-symbols=文件名]
[--本地化符号=文件名]
[--弱化符号=文件名]
[--alt-机器码=指数]
[--前缀符号=绳子]
[--前缀部分=绳子]
[--prefix-alloc-sections=绳子]
[--add-gnu-调试链接=文件路径]
[--only-keep-调试]
[--可写文本]
[--只读文本]
[- 纯的]
[--不纯]
[-v--详细]
[-V- 版]
[ - 帮帮我[- 信息]
入档 [输出文件]

商品描述


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

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

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

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

在生成 S 记录或原始二进制文件时,使用 -S 去除
包含调试信息的部分。 在某些情况下 -R 将有助于删除
包含二进制文件不需要的信息的部分。

笔记 - -对象复制 无法更改其输入文件的字节序。 如果输入
格式具有字节序(某些格式没有), 对象复制 只能将输入复制到文件中
具有相同字节序或没有字节序的格式(例如, 记录).

配置


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

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

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

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

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

-j 部分名称
--仅部分=部分名称
仅将命名部分从输入文件复制到输出文件。 此选项可能
被给予不止一次。 请注意,不恰当地使用此选项可能会使
输出文件不可用。

-R 部分名称
--删除部分=部分名称
删除任何名为 部分名称 从输出文件。 可以给出这个选项
不止一次。 请注意,不当使用此选项可能会使输出文件
无法使用。

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

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

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

-K 符号名
--保持符号=符号名
仅复制符号 符号名 从源文件。 此选项可能会超过
一旦。

-N 符号名
--strip-符号=符号名
不要复制符号 符号名 从源文件。 这个选项可能会被给予更多
不止一次。

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

-G 符号名
--keep-global-symbol=符号名
只保留符号 符号名 全球的。 将所有其他符号设为文件的本地符号,以便
它们在外部是不可见的。 可以多次给出此选项。

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

-W 符号名
--弱化符号=符号名
制作符号 符号名 虚弱的。 可以多次给出此选项。

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

-w -W !foo -W fo*

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

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

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

-b 字节
--字节=字节
只保留每 字节输入文件的第 th 个字节(头数据不受影响)。 字节 能够
在 0 到 交错-1,哪里 交错 由...给出 -i or
--交错 选项,或默认值 4。此选项对于创建文件很有用
程序 ROM。 它通常与“srec”输出目标一起使用。

-i 交错
--交错=交错
只复制一份 交错 字节。 选择要复制的字节 -b or
- 字节 选项。 默认值为 4。 对象复制 如果您未指定,则忽略此选项
-b or - 字节.

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

- 调试
如果可能,转换调试信息。 这不是默认值,因为只有
支持某些调试格式,转换过程可以是时间
消耗。

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

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

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

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

--更改地址 增量
--调整-vma 增量
更改所有段的 VMA 和 LMA 地址,以及起始地址,通过
添加 增量. 某些目标文件格式不允许更改段地址
随意。 请注意,这不会重新定位部分; 如果程序期望
将在某个地址加载的部分,此选项用于更改
部分加载到不同的地址,程序可能会失败。

--更改部分地址 部分{=,+,-}VAL
--调整部分-vma 部分{=,+,-}VAL
设置或更改命名的 VMA 地址和 LMA 地址 部分。 如果 = is
使用,节地址设置为 VAL。 除此以外, VAL 添加或减去
从部分地址。 请参阅下面的评论 --更改地址, 以上。 如果
部分 输入文件中不存在,将发出警告,除非
--no-change-警告 用来。

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

--更改部分-vma 部分{=,+,-}VAL
设置或更改命名的 VMA 地址 部分. VMA地址就是地址
一旦程序开始执行,该部分将位于何处。 一般
这与 LMA 地址相同,LMA 地址是该段所在的地址
加载到内存中,但在某些系统上,尤其是那些保存程序的系统
ROM,两者可以不同。 如果 = 使用,段地址设置为 VAL.
除此以外, VAL 添加到节地址或从节地址中减去。 看评论
--更改地址, 以上。 如果 部分 输入文件中不存在,a
将发出警告,除非 --no-change-警告 用来。

--更改警告
--调整警告
If --更改部分地址 or --更改部分-lma or --更改部分-vma 用来,
并且命名部分不存在,发出警告。 这是默认设置。

--no-change-警告
--无调整警告
不发出警告,如果 --更改部分地址 or --调整部分LMA or
--调整部分-vma 使用,即使命名部分不存在。

--设置部分标志 部分=标志
为命名部分设置标志。 这 标志 参数是逗号分隔的字符串
的标志名称。 公认的名字是 分配, Contents, 加载, 空载, 只读,
, data, ROM, 分享调试。 您可以设置 Contents 部分的标志
没有内容,但清除没有意义 Contents 一个标志
确实有内容的部分 - 只需删除该部分即可。 并非所有旗帜都是
对所有目标文件格式都有意义。

--添加部分 部分名称=文件名
添加一个名为的新部分 部分名称 在复制文件时。 新的内容
部分取自文件 文件名. 该部分的大小将是
文件。 此选项仅适用于可以支持部分的文件格式
任意名称。

--重命名部分 旧名=新名字[,标志]
重命名一个部分 旧名新名字, 可选择将节的标志更改为
标志 正在进行中。 这比使用链接描述文件更有优势。
重命名,因为输出保留为目标文件,而不是链接
可执行文件。

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

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


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

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

--srec-len=IVAL
仅对 srec 输出有意义。 设置 Srecords 的最大长度为
生产到 IVAL. 此长度涵盖地址、数据和 crc 字段。

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

--重新定义符号 =
更改符号的名称 , 至 . 这在尝试链接时很有用
没有来源的两件事放在一起,并且存在名称冲突。

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

- 削弱
将文件中的所有全局符号更改为弱。 这在构建一个
对象将使用 -R 链接器的选项。
此选项仅在使用支持弱的目标文件格式时有效
符号。

--保持符号=文件名
使用 --保持符号 文件中列出的每个符号的选项 文件名. 文件名 is
只是一个平面文件,每行一个符号名称。 行注释可能由
哈希字符。 可以多次给出此选项。

--strip-符号=文件名
使用 --strip-符号 文件中列出的每个符号的选项 文件名. 文件名 is
只是一个平面文件,每行一个符号名称。 行注释可能由
哈希字符。 可以多次给出此选项。

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

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

--本地化符号=文件名
使用 --localize-符号 文件中列出的每个符号的选项 文件名. 文件名
只是一个平面文件,每行有一个符号名称。 可能会引入行注释
通过哈希字符。 可以多次给出此选项。

--弱化符号=文件名
使用 --weak-symbol 文件中列出的每个符号的选项 文件名. 文件名 is
只是一个平面文件,每行一个符号名称。 行注释可能由
哈希字符。 可以多次给出此选项。

--alt-机器码=指数
如果输出架构有备用机器代码,请使用 指数代替代码
默认的。 这在机器被分配了官方代码的情况下很有用,并且
工具链采用新代码,但其他应用程序仍然依赖于
正在使用的原始代码。

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

--只读文本
使输出文本写保护。 此选项对所有对象都没有意义
文件格式。

- 纯的
将输出文件标记为按需分页。 此选项对所有对象都没有意义
文件格式。

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

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

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

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

--add-gnu-调试链接=文件路径
创建一个 .gnu_debuglink 部分,其中包含对 文件路径 并添加
它到输出文件。

--only-keep-调试
剥离文件,删除将被剥离的任何部分 --strip-调试
离开调试部分。

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

1.
“foo”然后...

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

1.
剥离的可执行文件。

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

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

1.
1.
1.
1.

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

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

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

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

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

使用 onworks.net 服务在线使用 h8300-hms-objcopy


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad