全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

c++中的预处理器指令有哪些_c++ #include, #define, #ifdef用法总结【基础】

include、#define、#ifdef 是 C++ 预处理器最基础的三条指令:#include 用于文本插入头文件, 查系统路径,"" 先查当前目录;#define 执行无类型文本替换,定义常量或带参宏(需括号防优先级错误);#ifdef/#ifndef 实现条件编译,常用于跨平台适配与头文件保护。

#include、#define、#ifdef 是 C++ 预处理器最常用也最基础的三条指令,它们在编译前由预处理器处理,不参与实际编译,但深刻影响代码结构和行为。

#include:引入头文件

作用是把指定头文件的内容“原样复制”到当前文件中该指令所在位置,用于复用声明(如函数原型、类定义、宏等)。

  • 尖括号 表示从系统路径(如 /usr/include 或编译器内置路径)查找,常用于标准库头文件:
    #include
  • 双引号 "" 表示先在当前源文件所在目录查找,找不到再查系统路径,适合自定义头文件:
    #include "myheader.h"
  • 注意:不是“包含整个编译单元”,只是文本插入;重复包含可能引发重定义错误(可用头文件保护避免)

#define:定义宏

用于创建宏常量或宏函数,本质是文本替换,无类型检查,慎用复杂表达式。

  • 定义常量:#define PI 3.14159 → 后续所有 PI 被替换成 3.14159
  • 定义带参宏(注意加括号防运算优先级出错):
    #define SQUARE(x) ((x) * (x))SQUARE(a + b) 展开为 ((a + b) * (a + b))
  • 不推荐用 #define 替代 constconstexpr 常量,后者有类型安全和调试支持

#ifdef / #ifndef / #endif:条件编译

根据宏是否已定义,决定某段代码是否参与编译,常用于跨平台适配、调试开关、头文件保护。

  • #ifdef MACRO:如果 MACRO 已被 #define 定义,则编译其后到 #endif 的代码
  • #ifndef MACRO:如果 MACRO 未定义,才编译中间代码(更常用,比如头文件保护)
  • 典型头文件保护写法:
    #ifndef MYHEADER_H
    #define MYHEADER_H
    // 头文件内容
    #endif
  • 配合 #else#elif 可实现多分支编译逻辑,例如区分 Windows/Linux:
    #ifdef _WIN32
    // Windows 特有代码
    #else
    // Linux/macOS 代码
    #endif

基本上就这些。掌握这三条指令,就能看懂绝大多数 C++ 头文件和项目配置逻辑。不复杂但容易忽略细节,比如宏替换顺序、括号缺失、重复包含问题——多写几遍、编译看看报错,很快就能踩准节奏。


# c++  # linux  # windows  # 处理器  # mac  # ios  # macos  # win  # stream  # cos  # 常量  # define  # include  # #define  # const  # 预处理器  # 无类型  # 头文件  # 就能  # 三条  # 找不到  # 已被  # 自定义  # 报错  # 先在  # 最常用  # 看懂 


相关文章: 如何用已有域名快速搭建网站?  建站之星下载版如何获取与安装?  建站之星后台管理如何实现高效配置?  已有域名和空间如何搭建网站?  网站制作企业,网站的banner和导航栏是指什么?  网站企业制作流程,用什么语言做企业网站比较好?  如何选择可靠的免备案建站服务器?  如何在云指建站中生成FTP站点?  在线流程图制作网站手机版,谁能推荐几个好的CG原画资源网站么?  如何在Windows 2008云服务器安全搭建网站?  如何在万网自助建站平台快速创建网站?  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  建站主机与服务器功能差异如何区分?  如何快速生成高效建站系统源代码?  如何制作算命网站,怎么注册算命网站?  定制建站平台哪家好?企业官网搭建与快速建站方案推荐  如何快速生成凡客建站的专业级图册?  如何用狗爹虚拟主机快速搭建网站?  如何快速上传自定义模板至建站之星?  清除minerd进程的简单方法  深圳 网站制作,深圳招聘网站哪个比较好一点啊?  如何通过服务器快速搭建网站?完整步骤解析  如何在腾讯云服务器上快速搭建个人网站?  简历在线制作网站免费版,如何创建个人简历?  济南专业网站制作公司,济南信息工程学校怎么样?  建站之星在线版空间:自助建站+智能模板一键生成方案  如何高效生成建站之星成品网站源码?  ,怎么在广州志愿者网站注册?  导航网站建站方案与优化指南:一站式高效搭建技巧解析  如何选择建站程序?包含哪些必备功能与类型?  javascript中的try catch异常捕获机制用法分析  小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  南宁网站建设制作定制,南宁网站建设可以定制吗?  建站之星如何修改网站生成路径?  公司网站的制作公司,企业网站制作基本流程有哪些?  如何快速搭建高效WAP手机网站?  建站之星如何助力网站排名飙升?揭秘高效技巧  相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?  如何通过多用户协作模板快速搭建高效企业网站?  枣阳网站制作,阳新火车站打的到仙岛湖多少钱?  招贴海报怎么做,什么是海报招贴?  建站之星×万网:智能建站系统+自助建站平台一键生成  婚礼视频制作网站,学习*后期制作的网站有哪些?  如何通过云梦建站系统实现SEO快速优化?  建站之星如何实现五合一智能建站与营销推广?  免费公司网站制作软件,如何申请免费主页空间做自己的网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。