在C++中,预处理器指令是在编译之前由预处理器处理的指令。它们以井号(#)开头。以下是一些常用的C++预处理器指令:
#include用于包含头文件。
#include <iostream> // 包含标准输入输出库
#include "myheader.h" // 包含自定义头文件
#define用于定义宏常量或宏函数。
#define PI 3.14159
#define MAX(a, b) ((a) > (b) ? (a) : (b))
#undef用于取消定义宏。
#undef PI
#if, #ifdef, #ifndef, #else, #elif, #endif用于条件编译。
#if defined(USE_DEBUG)
std::cout << "Debug mode is enabled." << std::endl;
#else
std::cout << "Debug mode is disabled." << std::endl;
#endif
#pragma用于向编译器发出特定的指令。
#pragma once // 确保头文件只被包含一次
#pragma pack(push, 1) // 设置结构体对齐方式为1字节对齐
#pragma pack(pop) // 恢复默认对齐方式
#error用于在预处理阶段产生编译错误。
#error "This code is not supported in this version of the compiler."
#warning用于在预处理阶段产生编译警告。
#warning "This code is deprecated."
#line用于改变源代码行号和文件名,通常用于调试。
#line 100 "newfile.cpp"
#ident用于在编译时插入标识符字符串。
#ident "MyProgram v1.0"
#pragma once虽然不是标准C++的一部分,但许多编译器(如GCC和MSVC)都支持它,用于确保头文件只被包含一次。
#pragma once
这些是CentOS和其他Linux发行版上常用的C++预处理器指令。根据具体的编译器和项目需求,可能还会有一些特定的预处理器指令可用。