预处理:
头文件展开,去注释,宏替换,条件编译
sudo gcc -E test.c -o test.i
-E: 从现在开始进行程序的翻译,当预处理完成后停止。
-o: 指明形成的临时文件名称。(.i)
test.i为预处理后形成的临时文件。
编译:
编译时在预处理期间把头文件拷贝到源文件里。
把c语言变为汇报语言。
sudo gcc -S test.c -o test.o
-S:从现在开始,进行程序的翻译,做完编译工作,变为汇编,就停止。
汇编:
把汇编语言翻译为二进制(不是可执行,而是二进制重定向目标文件)
od test.o
以二进制的形式打开。
sudo gcc -c test.c -o test.o
-c : 从现在开始,进行程序的翻译,做完汇编工作后,变为可重定向目标二进制文件后,就停止。
链接:
把自己写的代码和c标准库中的代码结合起来。(链接!!!)
sudo gcc test.o -o mytest
形成可执行的二进制程序(库+自己写的代码)
ESc对应iso(镜像)
test.[iso]