Hello World
#include <stdio.h>int main(void){printf("Hello World!\n");return 0;}
将程序保存为hello.c文件,然后编译执行
$ gcc hello.c -o hello$ ./helloHello 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链接起来的过程。 |
