Bootstrap

分部编译,#if #endif (条件编译),system的用法

预处理

带#的头文件展开: #include <stdio.h>包含文件stdio.h(预处理时将stdio.h 文件拷贝至预处理文件中)
删除注释:注释有两种方法:// /**/
宏替换:#define 代表是声明一个宏,在预处理时会将宏给替代
预处理时 不会检查语法错误
条件编译等

main.c

gcc -E main.c -o hello.i

条件编译

#if abc

        printf("a = %d\n",a);

 #endif

gcc -E main.c -o hello.i -Dabc

编译

将预处理文件编译生成汇编文件

检查语法错误

gcc -S hello.i -o hello.s

汇编
将汇编文件编译生成二进制文件.0

 gcc -c hello.s -o hello.o

链接
设置运行环境,堆栈等,链接其他库

gcc hello.o -o hello

system库函数的使用

启动另外一个程序

或者(打开记事本)

;