C语言编译过程

​ C程序编译步骤

​ gcc编译过程

​ 分步编译

​ 常见代码问题

C语言编译过程

C程序编译步骤

C代码编译成可执行程序经过4步:

  1. 预处理:宏定义展开、头文件展开、条件编译等,同时将代码中的注释删除,这里并不会检查语法。
  2. 编译:检查语法,将预处理后文件编译生成汇编文件。
  3. 汇编:将汇编文件生成目标文件(二进制文件)
  4. 链接:C语言写的程序是需要依赖各种库的,所以编译之后还需要把库链接到最终的可执行程序中去。

gcc编译过程

分步编译

1
2
3
4
预处理: gcc -E hello.c -o hello.i
编 译: gcc -S hello.i -o hello.s
汇 编: gcc -c hello.s -o hello.o
链 接: gcc hello.o -o hello
选项 含义
-E 只进行预处理
-S(大写) 只进行预处理和编译
-c(小写) 只进行预处理、编译和汇编
-o file 指定生成的输出文件名为file

程序编译过程

程序执行过程

文件后缀 含义
.c C语言文件
.i 预处理后的C语言文件
.s 编译后的汇编文件
.o 编译后的目标文件

常见代码问题

  1. 编辑时异常
  2. 编译时异常
  3. 运行时异常

评论



2019-2021 覃浩的博客 鄂ICP备19020398号-4 正在载入...

PoweredHexo
HostedGitHub & Coding
DNSAliyun & DNSPod
CDNjsDelivr
PictureBedjsDelivr
ThemeVolantis