我是靠谱客的博主 尊敬西牛,最近开发中收集的这篇文章主要介绍C++ 判断标准版本和编译器C++ 判断标准版本和编译器,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

C++ 判断标准版本和编译器

注意: 本人是原创, 如若发现雷同,后果自负

开发环境

大部分编译器都支持

原理

C++ 20 不确定
clanggcc 判断__cplusplus

__cplusplus的值
C++ 17201703L
C++ 14201402L
C++ 11201103L
C++ 03 以下199711L

msvc 判断_MSVC_LANG

_MSVC_LANG的值
C++ 17201703L
C++ 14201402L
C++ 11201103L
C++ 03 以下199711L

判断使用的编译器

msvc_MSC_VER
clang__clang__
gcc__GNUC__

实现

// cpp.hpp
#ifndef CPP_HPP
#define CPP_HPP

#if defined(__clang__) || defined(__GNUC__)

	#define CPP_STANDARD __cplusplus
	
#elif defined(_MSC_VER)

	#define CPP_STANDARD _MSVC_LANG
	
#endif
 
#if CPP_STANDARD >= 199711L
	#define HAS_CPP_03 1
#endif
#if CPP_STANDARD >= 201103L
	#define HAS_CPP_11 1
#endif
#if CPP_STANDARD >= 201402L
	#define HAS_CPP_14 1
#endif
#if CPP_STANDARD >= 201703L
	#define HAS_CPP_17 1
#endif

#endif

结论

为了优化代码和兼容性, 可以判断使用的C++版本
QQ交流群: 552641067

最后

以上就是尊敬西牛为你收集整理的C++ 判断标准版本和编译器C++ 判断标准版本和编译器的全部内容,希望文章能够帮你解决C++ 判断标准版本和编译器C++ 判断标准版本和编译器所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(67)

评论列表共有 0 条评论

立即
投稿
返回
顶部