CC++文件的编译过程

    xiaoxiao2021-03-25  130

    在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

    转载请注明原文地址: https://ju.6miu.com/read-9360.html

    最新回复(0)