【发布时间】:2012-07-23 20:13:17
【问题描述】:
由于我是 binutils、gcc 和其他人的新手,所以我有一些一般性的问题,以及我在手册中找不到的答案。
我正在使用 C 和程序集(nasm 语法),我需要输出原始二进制文件。首先,我将我的代码编译为带有参数的 objec 文件:
cc -nostartfiles -nostdlib -c -ffreestanding <input file(s)> ;cc or gcc no matter
然后我使用简单的脚本链接所有文件,该脚本只将片段按需要的顺序排列。
ld -T <script> -o <o.file> <in.file(s)> ;nothing special here
为了获得原始二进制文件,我使用 objcopy
objcopy -O binary <o.file> <in.file> ;can't be simplier
总而言之,我需要二进制文件only,其中包含 .text 和 .data 段以及 32 位代码。
1. 这样我能得到我想要的吗?
2.还有其他方法吗? (无论更简单或更复杂)
感谢您的帮助。
我编译 Asm 代码没有问题,几乎所有 C 代码都有问题。
【问题讨论】:
标签: compilation binaryfiles binutils objcopy