1 C代码编译成可执行程序经过4步
1)预处理:宏定义展开、头文件展开、条件编译等,同时将代码中的注释删除,这里并不会检查语法。
2)编译:检查语法,将预处理文件编译成汇编文件
3)汇编:将汇编文件生成目标文件(二进制文件)
4)链接:C语言写的程序是依赖各种库的,所以编译之后还需要把库链接到最终的可执行程序中。
2 分布编译
1)预处理:gcc -E hello.c -o hello.i
2) 编译:gcc -S hello.c -o hello.s
3) 汇编:gcc -c hello.c -o hello.o
3 ldd:用来列出链接需要的库
4 多个文件中,不能出现同名函数(static除外)