高级语言想要被计算机识别并运行,就需要编译器翻译成机器识别的二进制指令。下面详细介绍C语言程序编译过程。

C语言编译的过程主要4个步骤:预处理、编译、汇编、链接。

预处理:对源代码中的宏定义、条件编译等进行处理,同时过滤掉代码中的注释,这里不会检查语法。
编译:检查语法,将处理后文件编译成汇编文件
汇编:将汇编文件生成目标文件(二进制文件)
链接:C语言写的程序是需要依赖各个库的,将程序运行所需要的库链接生成可执行程序。

在linux平台将编写的main.c程序,编译成可执行的文件

选项
-E gcc -E main.c -o main.i 只进行预处理
-S(大写) gcc -S main.i -o main.s 进行预处理和编译
-c gcc -c main.s -o main.o 进行预处理、编译、汇编
-o gcc main.o -o main 链接程序执行所需的.o集合 生成可执行文件