在C/C++程序中,怎样可以知道编译器是GCC或G++?

比如一个简单的程序:
如果是GCC
int main(){
输出“GCC”
}
否则
int main(){
输出“G++”
}
这个程序如何实现?#pragma?#ifdef?

如果是gcc在预编译的时候会有一个名叫__GLIBC__的宏,如果是g++会有一个叫做__GLIBCXX__的宏,如果想知道版本可以用宏
#ifdef __GLIBC__
int main () //gcc
#elif __GLIBCXX__
int main() //g++
另外,gcc和g++都不完全算是纯编译器,两个只有连接器的区别,编译的方式是基本一样的
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-08-08
想用c语言编写,输出编译器版本的代码,网上有比较全面的代码。你参照吧。完整代码比较长。
https://www.cnblogs.com/nalanhairuo/p/6089381.html
相似回答