Xcode预编译header中为C++语言定义的预处理器是什么?
What is the preprocessor define for C++ language in Xcode precompile header?
在我的 Prefix.pch
文件中,我使用 __OBJC__
预处理器定义编译 Objective C headers。 C++ headers 的编译等价物是什么?
#ifdef __OBJC__
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#endif
有一个标准的预处理器常量,__cplusplus
。它的值扩展为正在使用的 C++ 标准的版本号:
__cplusplus
denotes the version of C++ standard that is being used, expands to
value 199711L (until C++11), 201103L (C++11), 201402L (C++14), or
201703L (C++17)
来源:cppreference
所以,你可以这样写,比如:
#ifdef __cplusplus
#if __cplusplus >= 201103L
// include new stuff
#else
// use legacy features
#endif
#endif
在我的 Prefix.pch
文件中,我使用 __OBJC__
预处理器定义编译 Objective C headers。 C++ headers 的编译等价物是什么?
#ifdef __OBJC__
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#endif
有一个标准的预处理器常量,__cplusplus
。它的值扩展为正在使用的 C++ 标准的版本号:
__cplusplus
denotes the version of C++ standard that is being used, expands to value 199711L (until C++11), 201103L (C++11), 201402L (C++14), or 201703L (C++17)
来源:cppreference
所以,你可以这样写,比如:
#ifdef __cplusplus
#if __cplusplus >= 201103L
// include new stuff
#else
// use legacy features
#endif
#endif