Linux下使用最广泛的C/C++编译器是GCC,大多数的Linux发行版本都默认安装,不管是开发人员还是初学者,一般都将GCC作为Linux下首选的编译工具。
1.小程序test_gets.c
#include <stdio.h> #define MAX 100 main() { char name[MAX]; printf("Input the name: "); gets(name); printf("The name is: %s ",name); }
保存文件后退出输入下面的命令:
gcctest_gets.c -o test_gets
可以直接将C代码编译链接为可执行文件test_gets 。
2.分步编译:
1) 预处理
gcc -E test_gets.c -o test_gets.i
在当前目录下会多出一个预处理结果文件 test_gets.i。
2) 编译为汇编代码
gcc -S test_gets.i -o test_gets.s
其中-S参数是在编译完成后退出,-o为指定文件名。
3) 汇编为目标文件
gcc -c test_gets.s -o test_gets.o
.o就是目标文件。目标文件与可执行文件类似,都是机器能够识别的可执行代码,但是由于还没有链接,结构会稍有不同。
3) 链接并生成可执行文件
gcctest_gets.o -o test_gets