二、编译和链接

2016-07-14  本文已影响48人  小虾米不爱吃虾
1. 源代码(hello.c)
#include <stdio.h>

int main()
{
  printf("hello world!\n");
  return 0;
}

2. 预编译过程

$ gcc -E hello.c -o hello.i

预编译过程包含如下几个关键步骤

我们可以通过hello.i文件,判断代码里定义的宏是否正确被展开

3. 编译过程

$ gcc -S hello.c -o hello.s

hello.s 是汇编代码

4. 汇编过程

$ gcc -c hello.s -o hello.o

hello.o 是目标文件,ELF格式

5. 链接过程

ld命令可以完成链接过程


$gcc hello.c -o hello 包含了以上编译和链接的过程,直接生成了可执行文件。

上一篇下一篇

猜你喜欢

热点阅读