是否可以在代码中获取编译器的版本?例如使用一些编译器指令?
我正在尝试查找编译器的版本,然后假设 Gcc
或 Visual C++
的版本是否兼容 C++11
然后编译这段代码,如果没有,则编译该代码段
最佳答案
您可以使用__cplusplus
宏来检查编译器是否支持C++11,以便它即使在您不了解的编译器上也能工作。
#if __cplusplus >= 201103L
//C++ 11 code here
#endif
16.8 预定义宏名称
1 以下宏名称应由 __cplusplus 定义 编译 C++ 翻译单元时,名称 __cplusplus 被定义为值 201103L。
157) 该标准的 future 版本将用更大的值替换该宏的值。不合格的编译器应使用最多五位小数的值。
关于c++ - 有没有办法找出代码中编译器的版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17855884/