我们首先看一看一个最简单的helloworl程序:
#include<stdio.h>
int main()
{
printf("hello.world\n");
}
hello程序的生命周期是从一个高级c语言程序开始的,是一种高级语言程序,这种形式可以比较容易被人读懂。然而,为了在系统上运行hello.c程序,每条c语言必须可以被其他程序转化为一系列的低级机器语言指令,然后这些指令按照一种称为可执行目标程序的格式打好包,并以二进制磁盘文件的形式存放起来。目标程序也称为可执行目标文件。
在我们一般的linux系统上,从源文件到目标文件的转化是由编译器驱动程序完成的,也就是我们常用的gcc指令。
gcc -o hello hello.c
在这里,gcc编译器驱动程序读取源程序文件hello.c,并把它翻译成一个可执行的目标文件hello。这个翻译过程可以分为四个阶段,执行这四个阶段的程序分别为:预处理器,编译器,汇编器,和链接器,它们一起构成了编译系统。