程序示例如下:
//test.c
#include <stdio.h>
int main(void)
{
printf("Hello World!\n");
return 0;
}
一步到位的编译指令是:gcc test.c -o test
分步进行如下:
1、预处理
gcc -E test.c 或者gcc -E test.c -o test.i
生成预处理文件test.i。在本例中,预处理的结果就是把文件stdio.h中的内容加入到test.c中了。
2、编译为汇编代码
gcc -S test.i -o test.s
gcc的-S选项,表示在程序编译期间,在生成汇编代码后,停止,-o输出汇编代码文件。
3、汇编
gcc -c test.s -o test.o
gas汇编器将汇编代码生成目标文件
4、链接
gcc test.o -o test
负责把可执行文件和所有附加文件链接起来,形成可执行文件。