在c与c++混合编程中,c接口中需要调用c++接口,通常使用到__cplusplus宏。但是从__cplusplus代表什么值呢?以下写个程序验证一下:
int main(void)
{
std::cout<<"c++ ver:"<<__cplusplus<<std::endl;
}
采用以下指令进行编译:
1.g++ -Wall -pthread -std=c++17 -g -o test main.cpp 结果:c++ ver:201703
2.g++ -Wall -pthread -std=c++14 -g -o test main.cpp 结果:c++ ver:201402
3.g++ -Wall -pthread -std=c++11 -g -o test main.cpp 结果:c++ ver:201103
运行环境:
gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)