03 C++语言---预处理器

预处理宏 含义
#if 表达式 是常量表达式。检查标识符是否被定义为宏名。
#ifdef 检查宏是否已经被定义
#ifndef 检查宏是否未定义
#elif 表达式 是常量表达式。检查标识符是否被定义为宏名。
#else 条件不成立时使用
#endif 结束条件编译块
#define 指令将标识符 定义为宏(macro),即指示编译器以将在它之后出现的所有标识符 都替换为替换列表,而它也可以被进一步处理。如果该标识符已被定义为任何类型的宏,那么除非这些定义都相同,否则程序非良构。
#undef #undef 指令取消定义标识符 ,即取消 #define 指令所作的标识符 定义。如果标识符未关联到宏,那么忽略该指令。
#include 用于将其他文件的内容插入到当前文件中。它通常用于包含头文件
#line 可以更改编译器报告错误时显示的行号和文件名
#error 实现在遇到 #error 指令后,显示消息 诊断消息 ,并令程序非良构(停止编译)。<br /同 (1) ,除了不影响程序的合法性并且编译继续。
#warning 生成编译时警告(部分编译器支持)
相关推荐
不正经学生1 小时前
C语言预处理详解:编译器真正动手之前的那些事
c语言·开发语言·算法·面试·bug
门思科技2 小时前
LoRaWAN 设备类别:Class A、B、C 对比与选型指南
c语言·开发语言·php
恋恋西风4 小时前
C++ 理解 std::thread 在单核和多核上的行为差异
开发语言·c++
Brilliantwxx4 小时前
【Linux】 进程(9)程序与进程地址空间(基础+进阶+面试题)
linux·运维·服务器·开发语言·c++
BizzZ_5 小时前
C++(22)——类型转换和IO流
开发语言·c++
小范同学_5 小时前
JDK1.7 与 JDK1.8 HashMap 底层原理对比 + 数组并发扩容死循环详解
java·开发语言
geovindu5 小时前
CSharp: 万年历
开发语言·后端·c#·.net
我找到地球的支点啦6 小时前
Matlab系列(009) 一CRC循环冗余校验详解
开发语言·数据结构·算法·matlab·信息与通信
予昊6 小时前
从零实现“在线五子棋对战“:WebSocket 实时通信 + 段位匹配
java·开发语言·网络·websocket
weixin_461408586 小时前
Mybatis-flex小记
java·开发语言·mybatis