Hello World

  1. #include <stdio.h>
  2. int main(void){
  3. printf("Hello World!\n");
  4. return 0;
  5. }

将程序保存为hello.c文件,然后编译执行

  1. $ gcc hello.c -o hello
  2. $ ./hello
  3. Hello World!

编译的过程

这里gcc命令就是编译命令,是使用GCC编译器将hello.c的源文件编译编译成为hello.out的二进制可执行文件的过程。可分为四个步骤:预处理-编译-汇编-链接。

步骤 预处理 编译 汇编 链接
生成文件 hello.i(文本文件) hello.s(文本文件) hello.o(二进制文件) hello.out(二进制文件)
解释 预处理用于将所有的#include头文件以及宏定义替换成其真正的内容,就是将头文件包含的内容复制进来,生成一个新的文本文件。 将预处理后的程序转换为汇编语言程序的过程。 将汇编语言程序转换为机器语言的过程。 将程序用到的不同.o文件连接起来的生成最终的可执行文件的过程。比如hello程序中用到了来自stdio.h中定义的printf函数,可以理解为将hello.o和printf.o链接起来的过程。