当前位置: 首页 > news >正文

VC++ 预编译头学习

头文件的作用,就是把自己的
所有内容直接“粘贴”到相应的 #include 语句处。

编译器在编译你的程序的时候,所做
的第一件事,也就是展开所有的 #include 语句和 #define 语句。

头文件的出现,给书写程序带来了很大方便。
到了 Windows 时代后,慢慢
就呈现出一些问题。
几乎所有的 Windows 程序都必须包含 windows.h,此文件极其大,将它展开后往所有文件中一粘贴,编译的时候立刻慢得像只蜗牛。

到了 MFC 时代后,情况更为恶劣了。
C 风格的 Windows 头文件里面包含的还
仅仅是函数定义和宏,编译难度不算太大,而 MFC 库里面的头文件都是类声明;

人们发现,虽然用到的头文件又多又杂,但是在一个工程中,总有那么
一堆头文件,是几乎所有 cpp 都必须包含的。
那么,把这些头文件提取出来,
只编译一编,然后所有其它 cpp 都能使用;
这就是预编译头的思想由来;

使用了预编译头技术后,编译速度大大提高了;
到工程目录下的
Debug 或 Release 目录中看一看,里面有一个体积极为硕大的 .pch 文件,这就是预编译头;

使用了预编译头技术后,虽然带来了极大地方便,但也造成了一个问题:它假定
预编译头中包含过的头文件会在所有 cpp 中使用;
因此,如果你使用了预编译头技术,就必须在所有的 cpp 中包含预编译头;
MFC 工
程中建立了一个默认的

http://www.lryc.cn/news/233066.html

相关文章:

  • JVM内存模型:理解Java程序的内存管理
  • golang opt-in transparent telemetry
  • 数据资产“入表”是不是红利?国企怎么认识?怎么利用?
  • 薪资面谈小技巧
  • 基于Java的鲜花商店的设计与实现,ssm+jsp,MySQL数据库,前台用户+后台管理,完美运行,有一万字论文
  • vue3 父组件调用子组件的方法
  • 和鲸科技创始人范向伟受邀出席“凌云出海,来中东吧”2023华为云上海路演活动
  • 短路语法 [SUCTF 2019]EasySQL1
  • 鉴源实验室 | DoIP协议网络安全攻击
  • 腾讯云服务器新用户购买优惠多少钱?腾讯云新用户购买优惠
  • 超全整理,Pytest自动化测试框架-多进程(pytest-xdist)运行总结...
  • jbase实现通用码表
  • 工业镜头中的远心镜头与普通镜头的光路
  • 【Qt之QWizardPage】使用
  • 自动化测试,5个技巧轻松搞定
  • EasyWeChat调用企业微信接口获取客户群数据
  • sql 左联 右联
  • k8s中的端口hostPort、port、nodePort、targetPort
  • 自动发微博脚本工具,可批量定时发送,按键精灵完全开源版
  • 2023版Idea创建JavaWeb时,右键new没有Servlet快捷键选项
  • 数据结构(c语言版本) 二叉树的遍历
  • Django 配置 Email Admin 详细指南
  • Apache阿帕奇安装配置
  • 时间序列预测实战(十六)PyTorch实现GRU-FCN模型长期预测并可视化结果
  • 如何提升软件测试效率?本文为你揭示秘密
  • 参数估计和非参数估计
  • Apache Airflow (八) :DAG任务依赖设置
  • 使用 com.jacob.activeX 库实现 Word 到 PDF
  • 2023亚太杯数学建模思路 - 案例:FPTree-频繁模式树算法
  • Dart利用私有构造函数_()创建单例模式