文章简单再现C语言从源码到可执行程序实现过程,基于CentOS系统,源码hello.c如下:

hello.c
#include <stdio.h>

int main()
{
	printf("Hello,World!\n");
  	return 0;
}

 1. 预编译

gcc -E hello.c -o hello.i

2. 编译

gcc -s hello.i -o hello.s

3. 汇编

# 命令 gcc -c hello.s -o hello.o 报错,因此使用:

gcc -c hello.c -o hello.o

4. 链接

gcc hello.o -o hello

5. 结果如下图:

6. 参考资料:

    - linux:gcc编译器的四个阶段

    - gcc——预处理(预编译),编译,汇编,链接