gcc分步编译:
举例说明:hello.c编译生成hello
一步命令:gcc -o hello hello.c
以上命令具体可分为以下四步:
①预处理
将hello.c生成一个hello.i的文件(指令:-E)hello.c ----> hello.i
hello.i也是一个C语言程序
预处理阶段会将头文件展开、宏替换、条件编译、取消注释....
gcc -E -o hello.i hello.c
②编译
将hello.i生成一个hello.s文件(指令:-S)hello.i ---> hello.s
hello.s是一个汇编文件
编译阶段:主要进行语法的检测
gcc -S -o hello.s hello.i
③汇编
将hello.s生成一个hello.o文件(指令:-c)hello.s ---> hello.o
hello.o是一个二进制文件
汇编阶段:主要生成让机器识别的二进制文件
gcc -c -o hello.o hello.s
④链接
将hello.o生成hello可执行程序 hello.o ---> hello
hello.exe是一个可执行程序
终端中可以执行这个程序并在屏幕输出helloworld
gcc -o hello hello.o