列出各种 C/C++ 编译器的预定义宏

列出各种 C/C++ 编译器的预定义宏

  • MSVC++ 的 cl.exe
cl /nologo /Zc:preprocessor /PD /EHs /TC F:\temp\mod.c
  • intel oneapi c++ for linux
icx -x c /dev/null -dM -E
  • intel oneapi c++ for windows
icx-cl -x c NUL -QdM -E
icpx -x c NUL -dM -E 
  • clang for linux
clang -x c /dev/null -dM -E
  • clang for windows
clang -x c NUL -dM -E
在 Visual Studio 中查看当前编译器支持的 C++ 版本,可以通过以下几种方式实现: ### 1. 使用命令行查看编译器版本 打开命令提示符(Command Prompt),输入以下命令: ```shell cl ``` 这将显示 Microsoft C/C++ 编译器(MSVC)的版本信息。输出中通常包含编译器的版本号,例如: ``` Microsoft (R) C/C++ Optimizing Compiler Version 19.30.30705 for x86 ``` 其中,版本号 `19.30.30705` 对应的是 Visual Studio 2022 的某个更新版本。MSVC 编译器版本与 Visual Studio 版本之间存在对应关系,可以通过微软官方文档确认具体支持的 C++ 标准。 ### 2. 通过 Visual Studio IDE 查看项目属性 在 Visual Studio 中打开一个 C++ 项目后,可以通过项目属性查看当前使用的 C++ 标准: - 右键点击项目,选择“属性(Properties)”。 - 在“配置属性(Configuration Properties)”下,选择“C/C++” -> “语言(Language)”。 - 查看“C++ 语言标准(C++ Language Standard)”选项,其中会列出当前项目使用的 C++ 标准,例如 `/std:c++17` 或 `/std:c++20` [^1]。 ### 3. 在代码中使用预定义 可以在 C++ 源文件中使用预定义 `_MSVC_LANG` 来判断当前编译器支持的 C++ 标准。例如: ```cpp #include <iostream> int main() { std::cout << "_MSVC_LANG = " << _MSVC_LANG << std::endl; return 0; } ``` 运行结果可能如下: ``` _MSVCLANG = 202002L ``` 该值表示支持的 C++ 标准版本,例如 `202002L` 表示 C++20 。 ### 4. 查询 Visual Studio 版本与 C++ 标准的对应关系 Visual Studio 的版本与支持的 C++ 标准之间存在一定的对应关系。例如: - Visual Studio 2015(MSVC 19.00)支持 C++11 和部分 C++14。 - Visual Studio 2017(MSVC 19.10~19.16)支持 C++17。 - Visual Studio 2019(MSVC 19.20~19.29)逐步完善了对 C++17 的支持,并开始支持部分 C++20 特性。 - Visual Studio 2022(MSVC 19.30+)支持完整的 C++20,并逐步引入 C++23 的部分特性 。 通过这些方法,可以较为全面地了解当前 Visual Studio 环境中编译器所支持的 C++ 标准。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dowhileprogramming

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值