netdoger 发表于 2013-12-25 09:41

有什么办法把C代码编译成可直接运行的汇编代码

我说的是编译完后,里面都是纯粹的汇编代码,没有一些附加的信息,比如文件头等

seamine_cu 发表于 2013-12-25 09:49

你说的是release版本吗?gcc的话去掉-g的选项,msvc的话去掉_DEBUG的宏

yulihua49 发表于 2013-12-25 09:56

netdoger 发表于 2013-12-25 09:41 static/image/common/back.gif
我说的是编译完后,里面都是纯粹的汇编代码,没有一些附加的信息,比如文件头等
1.汇编代码不可直接运行。
2.cc -S XXX.c   生成纯粹的汇编代码。

folklore 发表于 2013-12-25 10:00

祼代码。
gcc 有个参数可以做到这一点
ldscript也可以做到
还可以指定开始地址。
man gcc

tempname2 发表于 2013-12-25 21:12

这个ID是不是易主了?

todaygood 发表于 2014-01-04 22:45

啥意思? 为何有这个需求?

idi0t 发表于 2014-01-06 08:57

回复 6# todaygood


    猜测楼主似乎在写shellcode相关的东西……,是想直接取得代码的二进制数据吧。

hanxin83 发表于 2014-01-06 21:06

或者想从0开始写OS, 写扇区可执行代码啥的.

Fomalhaut2 发表于 2014-01-07 13:32

编译链接之后,用objcopy。

cjaizss 发表于 2014-01-07 14:02

我猜LZ想要的是objcopy
页: [1] 2
查看完整版本: 有什么办法把C代码编译成可直接运行的汇编代码