C++ 转换C/C++;至8086/88总成

C++ 转换C/C++;至8086/88总成,c++,c,compiler-construction,assembly,x86-16,C++,C,Compiler Construction,Assembly,X86 16,有没有办法将C/C++转换成汇编而不是十六进制 不像gcc或其他编译器那样(C/C++-->ASM-->十六进制) 仅将其转换为ASM gcc有什么方法可以做到这一点,我的意思是在将C/C++转换为ASM时停止编译器 特别感谢您的关注,非常抱歉我的基本问题 gcc -O2 -S -c foo.c 将生成的程序集代码保留在文件foo.s上。使用gcc的-s选项,例如: gcc -S hello.c 这将为您提供一个包含装配说明的文件hello.s。Hex?你是说机器代码的二进制编码吗?我只想补

有没有办法将C/C++转换成汇编而不是十六进制

不像gcc或其他编译器那样(C/C++-->ASM-->十六进制)

仅将其转换为ASM

gcc有什么方法可以做到这一点,我的意思是在将C/C++转换为ASM时停止编译器

特别感谢您的关注,非常抱歉我的基本问题

gcc -O2 -S -c foo.c

将生成的程序集代码保留在文件foo.s上。

使用gcc的
-s
选项,例如:

gcc -S hello.c

这将为您提供一个包含装配说明的文件
hello.s

Hex?你是说机器代码的二进制编码吗?我只想补充一点,你可以用
-masm=INTEL
-masm=att
@Mrafcho001指定汇编语言(英特尔vs AT&T)@8086这样的特殊英特尔处理器有没有办法?@Moein7tl你是否试图编译一些代码,让它在8086上运行?如果是这样,我相信你是在试图交叉编译。这意味着您必须设置一个交叉编译工具链。我没有这样做的经验,但我相信谷歌会找到一些有用的东西。添加
-fverbose asm
也可能是值得的。@Moein7tl,gcc有很多选项来发出代码,这些代码通过
--arch=something
选项调整到特定的目标处理器。gcc.gnu.org拥有您要查找的所有信息。