高级语言想要被计算机识别并运行,就需要编译器翻译成机器识别的二进制指令。下面详细介绍C语言程序编译过程。
C语言编译的过程主要4个步骤:预处理、编译、汇编、链接。
预处理:对源代码中的宏定义、条件编译等进行处理,同时过滤掉代码中的注释,这里不会检查语法。
编译:检查语法,将处理后文件编译成汇编文件
汇编:将汇编文件生成目标文件(二进制文件)
链接:C语言写的程序是需要依赖各个库的,将程序运行所需要的库链接生 大专栏 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集合 生成可执行文件 |