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

高端 网站硬件工程师培训机构哪家好

高端 网站,硬件工程师培训机构哪家好,医院网站建设 不足,建设网站沙井文章目录 c预编译头文件1.使用g编译预编译头文件2.使用visual studio进行预编译头文件2.1visual studio如何设置输出预处理文件(.i文件)2.2visual studio 如何设置预编译(初始创建空项目的情况下)2.3 visual studio打开输出编译时…

文章目录

    • c++预编译头文件
      • 1.使用g++编译预编译头文件
      • 2.使用visual studio进行预编译头文件
        • 2.1visual studio如何设置输出预处理文件(.i文件)
        • 2.2visual studio 如何设置预编译(初始创建空项目的情况下)
        • 2.3 visual studio打开输出编译时间

c++预编译头文件

预编译头文件(Precompiled Header,简称PCH)是一种提高编译速度的技术。在C++等编程语言中,每次编译程序时,编译器都需要处理所有的头文件。由于头文件通常包含大量的宏定义、类型定义和函数声明等内容,这一步骤可能会消耗较多的时间。尤其是当项目变得非常庞大且多个源文件共享相同的头文件时,这种重复处理会显著增加整个项目的构建时间。

预编译头文件的基本思想是将一些频繁使用的头文件预先编译成一种中间形式,然后在后续的编译过程中直接使用这个已经编译好的结果,而不是每次都从头开始重新解析这些头文件这样做可以大大减少编译时间,尤其是在大型项目中效果尤为明显

  • 使用预编译头文件的好处包括
  1. 加速编译过程:减少了对常用头文件内容的重复解析。
  2. 提高开发效率:更快的编译反馈循环可以让开发者更高效地工作。
  3. 资源节约:降低了CPU和内存的使用量。

如何使用预编译头文件

不同IDE或编译环境对于预编译头文件的支持方式可能有所不同。以下是一些常见的设置方法:

  • Visual Studio (VS): 在VS中,可以通过项目属性来指定一个特定的头文件作为预编译头。一般需要创建一个专门用于预编译的头文件(例如stdafx.h),并在项目设置里指定该文件为预编译头文件。同时,还需要在源代码文件顶部加入#include "stdafx.h"作为第一个包含指令。
  • GCC/Clang: 这些编译器通过命令行选项支持预编译头文件。例如,使用-Winvalid-pch来生成预编译头文件,然后用-include选项指定要包含的预编译头文件。
  • Xcode: Xcode也支持预编译头文件,并且可以通过项目的Build Settings进行配置。

需要注意的是,虽然预编译头文件能够显著提升编译速度,但不恰当地使用也可能导致问题,比如增加了编译器之间的依赖性,或者使得某些编译错误难以定位。因此,在实际应用中应当根据项目实际情况合理选择是否以及如何使用这项技术。

下方两个文件其实是等价的

在这里插入图片描述

在这里插入图片描述

  • 上图中下方代码分离出我们需要的头文件单独到一个文件中,方便我们进行头文件预编译

1.使用g++编译预编译头文件

  • 分别测试第一次编译,再修改部分代码进行第二次编译,两次编译时间如下

在这里插入图片描述

  • 直接对分离出的pch.h文件进行编译,我们一般对cpp文件编译,但对头文件编译就会生成下方截图所示文件。

在这里插入图片描述

  • 将之前生成的exe文件删除,重新对main.cpp进行编译,分别测第一次编译时间,然后修改部分代码再次重新编译第二次,我们发现两次时间都大大减少。

在这里插入图片描述

2.使用visual studio进行预编译头文件

2.1visual studio如何设置输出预处理文件(.i文件)
  • 右击项目,设置属性

在这里插入图片描述

  • 选择预处理器,将预处理到文件改为是

在这里插入图片描述

  • 这样运行的程序文件下就会出现.i文件,打开.i预处理文件,如下,可见加入的那些头文件代码量之多,这些都要重新编译(如果不进行预编译头文件的话)
    在这里插入图片描述
2.2visual studio 如何设置预编译(初始创建空项目的情况下)
  • 进行预编译:
    • 创建pch.cpp,引入pch.h文件,右击cpp文件选中属性:

在这里插入图片描述

  • 选择预编译头,改为创建

在这里插入图片描述

  • 再右击项目属性,设置项目属性。选择使用预编译头,并且选择预编译头文件

在这里插入图片描述

在这里插入图片描述

2.3 visual studio打开输出编译时间
  • 选择工具,打开选项。

在这里插入图片描述

  • 找到vc++ 项目设置,把生成计时改为是。

在这里插入图片描述

  • 一开始项目设置属性预编译头为不使用预编译头的情况:
  • 第一次编译:在这里插入图片描述
    改代码后第二次编译情况如下在这里插入图片描述
  • 将项目属性设置为使用预编译头后:
    • 第一次编译情况如下:(跟不使用的差不多)在这里插入图片描述
  • 改写部分代码后第二次进行编译,情况如下:(第二次时间大大减少)在这里插入图片描述
http://www.hrbkazy.com/news/16291.html

相关文章:

  • 网站怎么做能快速有排名昆明长尾词seo怎么优化
  • 网站开始是怎么做的seo的基础是什么
  • 如何做网站网页费用常德网站建设制作
  • 家具设计理念常用的seo工具
  • 想建一个自己的网站站长平台工具
  • 通化好的网站建设的公司百度投诉中心24人工客服
  • 绍兴网站关键词优化seo排名软件哪个好用
  • 网站商城定制网站建设百度搜索广告怎么收费
  • 色盲测试商丘关键词优化推广
  • 透视图在什么网站上可以做个人博客网页设计html
  • 怎么做网站做站点小程序定制
  • 西宁做政府网站的公司wix网站制作
  • 邯郸企业网站建设公司百度竞价排名背后的伦理问题
  • 搞笑网站建设目的和意义网络销售真恶心
  • 装饰公司在哪个网站上接活网络营销岗位
  • 自己做的网站怎么弄成app如何优化网络
  • 网站运营专员是干嘛的seo免费视频教程
  • 做准的算命网站个人网站网址
  • 肇庆做网站seo技术教程博客
  • 自己怎么做网上注册免费的网站做网站哪家好
  • java jsp做网站外贸建站与推广
  • 提升学历选择哪种方式好济南seo关键词优化方案
  • 企业网站怎么做毕业设计企业网站的功能
  • 网站前台模板 html网站建设的基本
  • java网站开发前景网络广告文案案例
  • c 做网站简单还是java推广普通话的内容
  • 装饰公司网站模版seo排名首页
  • 解决方案网站seo综合查询站长工具关键词
  • 聊城正规网站建设设计公司宁波seo教程网
  • 公安网站备案需要注意什么教育培训机构营销方案