预处理指令#error多用于检查编译时的错误,可以提供一种编译时报错机制。
当预处理器预处理到#error命令时将停止编译并输出用户自定义的错误消息。
格式如下:token-string是用户自定义的错误消息。
#error token-string
通常#error用于检查比较严重的错误,影响到实际代码模块的编译。比如需要使用C++编译器,可用如下判断:
#if !defined(__cplusplus) #error C++ compiler required. #endif
需要使用VS编译器,可以使用如下宏判断
#ifndef _MSC_VER #error require visual studio compiler #endif
其中_MSC_VER表示vs编译器版本号,是vs定义的宏。具体函数如下:
MS VC++ 12.0 _MSC_VER = 1800 (Visual C++ 2013)
MS VC++ 11.0 _MSC_VER = 1700 (Visual C++ 2012)
MS VC++ 10.0 _MSC_VER = 1600(Visual C++ 2010)
MS VC++ 9.0 _MSC_VER = 1500
MS VC++ 8.0 _MSC_VER = 1400
MS VC++ 7.1 _MSC_VER = 1310
MS VC++ 7.0 _MSC_VER = 1300
MS VC++ 6.0 _MSC_VER = 1200
MS VC++ 5.0 _MSC_VER = 1100
时间: 2024-10-12 08:39:17