gcc和g++的区别

    xiaoxiao2022-07-14  210

    gcc和g++只是一个调用器,根据各自的规则确定是调用对应的编译器(GUN C Compiler or GUN C++ Compiler)。区别如下:

     gcc

    g++

    编译阶段

    对于c文件,按照c的编译规则;

    对于cpp文件,按照c++的编译规则;

    c文件和cpp文件一律按照c++的编译规则链接阶段对于cpp文件编译的.o文件需要显示指定链接到c++标准库,如-lstdc++g++自动链接到C++标准库            

    PS:

    1、在编译阶段调用GUN C++ Compiler编译器时,会加入一些额外的宏定义,如:

    #define __GXX_WEAK__ 1 #define __cplusplus 1 #define __DEPRECATED 1 #define __GNUG__ 4 #define __EXCEPTIONS 1 #define __private_extern__ extern

    所以,无论是c文件还是cpp文件,只要调用的是C++编译器,1)都定义了__cplusplus宏的;2)只有在c文件和cpp文件采用不同的编译器时,__cplusplus才有意义;3)都会按照c++强语法生成目标文件。

    2、参考链接:https://www.cnblogs.com/oxspirt/p/6847438.html

    最新回复(0)