C/C++通过gcc命令生成可执行文件的过程:预处理、编译、汇编、链接以及反汇编(.exe得到机器码和汇编码)
翻译过程
1. 下载MinGW;
2. 为MinGW中的gcc.exe配置环境变量中系统变量的path(目录到其父文件夹bin即可),使其在cmd中任意位置都可被执行;
3. 在cmd中切到.c文件所在位置,依次键入如下代码,便会在同目录下生成对应文件;
第一步、预处理 .c -> .i : gcc -E hello.c -o hello.i
第二步、编译 .i -> .s : gcc -S hello.i -o hello.s
第三步、汇编 .s -> .o: gcc -c hello.s -o hello.o
第四步、链接 .o -> .exe: gcc hello.o -o hello
模拟生成intel32位系统下带C源代码的汇编指令:.c -> .s
gcc -m32 -masm=intel -S -fverbose-asm main.c
生成.dump文件:.exe文件的机器码和汇编码 :.exe -> .dump
objdump --source main.exe >main.dump
注:
首先要确保gcc.exe已正常安装,可在cmd下执行gcc -v测试:若显示版本则无问题(既要在gcc.exe目录下通过测试,也要在其他任意目录下都可通过测试,即2为其配置环境变量)
其次确保在cmd命令行中切到.c源文件目录中执行命令
最后若多个.c文件,要分别执行前三步命令生成各自对应的.o目标文件,在第四步链接多个.o为一个可执行文件即可(如gcc hello1.o hello2.o hello3.o -o hello);
附:
更多推荐

所有评论(0)