如何判断一段程序是由C编译器编译的还是由C++编译器编译的?
这个要通过代码来实现。
如果用C++编译程序的话,系统会自定义一个宏:__cplusplus
代码如下:
#include<iostream>
using namespace std;
int main()
{
#ifdef __cplusplus
cout<<"C++";
#else
cout<<"C";
#endif
cout<<endl;
return 0;
}
运行结果为:C++
#include<iostream>
using namespace std;
int main()
{
#ifdef _cplusplus
cout<<"C++";
#else
cout<<"C";
#endif
cout<<endl;
return 0;
}
运行结果为: C

本文介绍了一种通过代码来判断程序是由C编译器还是C++编译器编译的方法。利用预处理宏__cplusplus的存在与否,可以有效地区分这两种编译器。

被折叠的 条评论
为什么被折叠?



