以下说法正确的是
C/C++ 中gcc和g++的对比与区别
正确答案: A B D 你的答案: A D (错误)
gcc编译.c文件,__cplusplus没有定义,编译器按照c编译代码
gcc编译.cpp文件,__cplusplus有定义,编译器按照c++编译代码
g++编译.c文件, __cplusplus没有定义,编译器按照c编译代码
g++编译.cpp文件, __cplusplus有定义,编译器按照c++编译代码
解析:
一、区别
- gcc是GCC中的c编译器
g++是GCC中的c++编译器 - 对于后缀为.c的文件,gcc当成c文件处理,而g++当成c++处理
对于后缀为.cpp的文件,两者都当成.cpp文件处理 - 在编译阶段,g++会自动链接STL库,而gcc必须要加一个参数-lstdc++
- gcc在编译c文件时,可用的预定义宏是比较少的
二、小误区
1.gcc只能用来编译.c文件,g++只能用来编译.cpp文件
答:两者都可以。对于后缀为.c的文件,gcc当成c文件处理,而g++当成c++处理
对于后缀为.cpp的文件,两者都当成.cpp文件处理
2.编译只能用gcc,链接只能用g++
答:不对。gcc和g++都能用在编译阶段,g++用在链接阶段,g++在编译阶段要加上一个参数-lstdc++.
3.gcc不会定义-cplusplus宏,而g++会
答:错误。这个宏只是标志着编译器把代码按c还是c++语法解释。
以上就是C/C++ 中gcc和g++的对比与区别的详解,如有疑问请留言或者到本站社区留言讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!