C/C++ 中gcc和g++的对比与区别
GCC: GNU Compiler Collection(GUN 编译器集合),它可以编译C、C++、JAVA、Fortran、Pascal、Object-C等语言。
区别
-
gcc 是 GCC 中的 c 编译器,g++ 是 GCC 中的 c++ 编译器
-
对于后缀为 .c 的文件,gcc当成c文件处理,而 g++ 当成 c++ 处理,对于后缀为.cpp的文件,两者都当成.cpp文件处理
-
在编译阶段,g++ 会自动链接 STL 库,而 gcc 必须要加一个参数
-lstdc++
-
gcc 在编译 c 文件时,可用的预定义宏是比较少的
小误区
-
gcc 只能用来编译 .c 文件,g++ 只能用来编译 .cpp 文件
两者都可以
。对于后缀为 .c 的文件,gcc 当成 c 文件处理,而 g++ 当成c++ 处理,对于后缀为 .cpp 的文件,两者都当成 .cpp 文件处理 -
编译只能用 gcc ,链接只能用 g++
错误
。gcc 和 g++ 都能用在编译阶段,g++ 用在链接阶段,g++ 在编译阶段要加上一个参数-lstdc++
-
gcc 不会定义 -cplusplus 宏,而 g++ 会
错误
。这个宏只是标志着编译器把代码按 c 还是 c++ 语法解释。