0
点赞
收藏
分享

微信扫一扫

详解C语言程序的编译

纽二 2022-02-26 阅读 55

序言

程序编译

  1. 预处理
  2. 编译
  3. 汇编
  4. 链接

代码准备

在这里插入图片描述

#include <stdio.h>    
    
#define M 10    
    
int main()    
{    
  printf("%d\n",M);                                                          
  return 0;    
} 

在这里插入图片描述

预处理(预编译)

gcc -E test.c -o test.i     

在这里插入图片描述

作用

  • 展开库
  • 替换宏

在这里插入图片描述
看看,代码一下子变成了800多行,这是库函数的展开,并且我们看到宏M已经被替换成了10,此时仍旧是C语言代码

编译

gcc -S test.i -o test.s

在这里插入图片描述

  • 将C语言编译成汇编代码
    在这里插入图片描述

汇编

gcc -c test.s -o test.o

在这里插入图片描述

  • 将汇编语言变成二进制

在这里插入图片描述

链接

拓展

Linux下多文件编译运行

举报

相关推荐

0 条评论