在程序界,似乎有一个不成文的规定,不管是学啥,都要先写一个 Hello world, 要是写成功了,那就证明,你对这个东西已经了解了大半;要是失败了,那就得继续加油。
那么在 C/Cpp 世界里,一个 Hello World 的程序,究竟是如何把我们写的那三两行代码转变成一个输出呢?这里面代码是如何转化的,又是如何被搞成一个可执行文件,系统又是如何调用这个程序的呢?
书中总是告诉我们,一段代码的编译过程是这样子的:
C源程序->编译预处理->编译->优化程序->汇编程序->链接程序->可执行文件
今天我们就根据 Hello World 这个简单的程序来聊聊这些个流程。
源程序
#include<stdio.h>
int main(){
// my first c/cpp program
printf("Hello World\n");