1.4 KiB
1.4 KiB
预编译指令
index
define
预定义宏
- 平台相关
__STDC__
如果编译器遵循ANSI C标准,则定义为1__cplusplus
如果编译器支持C++,则定义为一个版本号 如199711L表示C++98,201103L表示C++11等_WIN32
在Windows平台下定义,表示目标系统是32位或64位_WIN64
__unix__
__linux__
__APPLE__
- 编译器相关
__GNUC__
如果编译器是GCC,则定义为GCC的主版本号__clang__
如果编译器是Clang_MSC_VER
如果编译器是Microsoft Visual C++,则定义为一个版本号__ICC
如果编译器是Intel C/C++ Compiler,则定义
- 文件和行号相关的预定义宏
__FILE__
当前文件的名称__LINE__
当前文件的行号__DATE__
编译日期__TIME__
编译时间
- 其他
__func__
__FUNCTION__
当前函数的名称__PRETTY_FUNCTION__
在C++中,包含当前函数的完整声明
defined
如果一个宏被定义,则 defined(<MACRO_NAME>)
返回真
pragma
由编译器定义的预处理指令,若不支持则无操作
#pragma once
确保头文件只被包含一次