获取__cplusplus宏的值

博客探讨了在C与C++混合编程中,如何利用__cplusplus宏来识别C++标准版本。通过示例程序展示了不同C++标准(C++11、C++14、C++17)下__cplusplus宏的值,分别是201103、201402和201703,揭示了宏值与C++标准版本的对应关系。
摘要由CSDN通过智能技术生成

在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) 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值