C/C++文件的编译过程

来源:互联网 发布:mac itunes12.7铃声 编辑:程序博客网 时间:2024/06/05 08:27

在Windows下使用VS/VC等编译器,(其实VS只是编码器,在幕后是CL编译器在帮助其编译)编译C/C++文件我们并不能直观的看到详细过程,编译器直接自动编译。其实在Linux中VI/VIM编码器编码,用GCC/G++编译时,就能详细掌握此过程。

其实编译分为三个阶段:

1 预处理(预编译)

2 编译(C/C++代码编译成二进制指令)

3 链接


编译过程分析:

首先将源文件要编译时先进行第一阶段预编译,此过程是将源文件中的整个函数体代码以及包含的头文件(头文件中的代码也全部被包含进来),此阶段会生成预处理文件,在Linux的gcc中指令为即:gcc -o hello.c -E hello.c (-E 只是预处理)

第二阶段编译:编译成二进制代码生成以*.o的文件名(在Windows下以*.obj),Linux的gcc中指令为即:gcc -o hello.o -c hello.c(只编译不处理),此时代码中为包含库文件中的代码,如:printf......

第三阶段链接:将库代码再包含进去,生成可执行文件。Linux的gcc中指令为即:gcc -o hello hello.o






1 0
原创粉丝点击