C++学习笔记(四十):c++ 预编译头文件

这篇具有很好参考价值的文章主要介绍了C++学习笔记(四十):c++ 预编译头文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本节介绍c++预编译头文件。文章来源地址https://www.toymoban.com/news/detail-798365.html

  • 预编译头文件是指抓取一堆头文件,并将其转换成编译器可使用的格式,不需要多次去读取这些头文件。 
  • 例如经常使用一些c++stl的标准库,vector等,需要#include<vector>,该操作会读取整个vector头文件并编译该头文件。同时vector也包含一堆其他头文件,同样预处理必须将这些头文件复制到vector文件,并编译。如果个人项目中不同的.h文件中,好几个都包含#include<vector>,则每次都需要执行上述操作。为解决上述问题可以使用预编译头文件,预编译头文件的作用是接收一切我们告诉它要接收的头文件,它只编译一次,以二进制格式进行存储,因此会极大程度的提高项目的编译时间。
  • 预编译头文件使用方法:
  • 预编译头文件是一个包含其他头文件的头文件,一般命名为pch,visiual studio将其命名为stdafx.h。但不能将所有需要到的头文件都添加进去,因为pch包含的头文件每次修改之后都需要重新编译,因此只需要包含几乎不更改的头文件或者很少修改的头文件在预编译头文件中即可。
  • C++学习笔记(四十):c++ 预编译头文件,c++学习笔记,c++,学习,笔记
  • visiual studio做法是新建一个包含pch.h的cpp文件,在新建的cpp文件下,右键->属性->c/c++->预编译头->创建
  • C++学习笔记(四十):c++ 预编译头文件,c++学习笔记,c++,学习,笔记
  • 在整个工程下右键->属性->c/c++->预编译头->使用
  • C++学习笔记(四十):c++ 预编译头文件,c++学习笔记,c++,学习,笔记
  • 在visiual studio中查看编译时间的设置方式如下:
  • 工具->选项->项目和解决方案->VC++项目设置->生成计时 改为是
  • C++学习笔记(四十):c++ 预编译头文件,c++学习笔记,c++,学习,笔记
  • 在g++中使用预编译头的方式
  • g++ -std=c++11 pch.h    编译该pch.h文件
  • 之后在编译项目文件即可 g++ -std=c++11 Test.cpp,加上time即可看到编译的时间,time g++ -std=c++11 Test.cpp。

到了这里,关于C++学习笔记(四十):c++ 预编译头文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [Android AIDL系列 1] 手动编译aidl文件,生成Java、C++[android]、C++[ndk]、Rust接口

    AIDL文件在Android系统上应用广泛,和底层的Binder机制紧密关联。 在Android源码或者Android Studio中通常是自动编译aidl文件,生成对应语言的接口文件。 做应用层Java开发,aidl和binder封装的比较“干净”,不用太多的涉及binder的调用细节,也不用太关心aidl的编译过程。 如果是做中

    2024年02月08日
    浏览(40)
  • C++开发实战(二):打开已有工程,并编译生成dll、exe等文件

    1、如下几张图,提示很友好,但我都点击了确定,并进行了运行,提示: 此项目需要 MFC 库。从 Visual Studio 安装程序(单个组件选项卡)为正在使用的任何。。。 2、根据提示安装依赖库 (1)搜索栏搜索应用Visual Studio Installer (2)双击打开,选择单个组件安装,选择 MFC 库(

    2024年02月06日
    浏览(91)
  • 编译xlnt开源库源码,在linux平台使用c++读写excel文件

    里面又编译说明手册 获取到xlnt-master.zip 获取到libstudxml-master.zip 1 解压xlnt-master.zip,解压命令:unzip xlnt-master.zip 2 解压libstudxml-master.zip,解压命令:unzip libstudxml-master.zip 3 将libstudxml-master/libstudxml拷贝到xlnt-master/third-party/libstudxml 注意:是这个xlnt-master/third-party/libstudxml目录下,

    2024年04月25日
    浏览(31)
  • C++服务器框架开发11——编译调试1/cmake学习

    该专栏记录了在学习一个开发项目的过程中遇到的疑惑和问题。 其教学视频见:[C++高级教程]从零开始开发服务器框架(sylar) 上一篇:C++服务器框架开发10——日志系统1~9代码 学习到第6个视频的00:59,由于不了解编译,这次先学习下cmake。下图是CMakeLists.txt中的内容。 参考自文

    2024年02月16日
    浏览(71)
  • 【C++学习】模板进阶——非类型模板参数 | 模板的特化 | 分离编译

    🐱作者:一只大喵咪1201 🐱专栏:《C++学习》 🔥格言: 你只管努力,剩下的交给时间! 模板我们之前一直都在使用,尤其是在模拟STL容器的时候,可以说,模板给类增加了更多的可能性,是C++最重要的部分之一。下面本喵来更深入的讲解一下模板。 在上面代码中,创建了

    2023年04月13日
    浏览(35)
  • C++学习笔记——从面试题出发学习C++

    C++博大精深,在学习过程中我也有看过《Effective C++》、《Efficient C++》、《C++ Prime》这样一些C++的经典大作,但是个人感觉是由于语法太多,很难抓住重点,在工作中如果不很经常用到某个语法,即使在书籍上有看过也会很快忘记。而刷面试题是一个很好的查漏补缺的方式,

    2024年02月13日
    浏览(35)
  • NDK编译C++源码生成Android平台so文件(opencv_android)

     1.准备CPP文件  编写CMakeLists.txt 编写 mk文件   android-8 is unsupported. Using minimum supported version android-16  APP_PLATFORM android-16 is higher than android:minSdkVersion 1 in ./AndroidManifest.xml 修改Application.mk中的APP_PLATFORM为 android-21  builg.gradle添加原生编译路径     出现gnustl_static不支持错误  修改

    2024年02月10日
    浏览(42)
  • c++文件流详细笔记

    IO :向设备输入数据和输出数据 C++的IO流 设备: 文件 控制台 特定的数据类型(stringstream) c++中,必须通过特定的已经定义好的类, 来处理IO(输入输出) 文件流: 对文件进行读写操作 头文件: 类库: ifstream 对文件输入(读文件) ofstream 对文件输出(写文件) fstream 对文件输入或输出

    2024年02月14日
    浏览(31)
  • C编译过程 以及 ELF文件(学习笔记)

    一个用C语言编写的高级语言程序是从编写到打包、再到编译执行的基本过程,我们知道在CPU上执行的是低级别的机器语言,从高级语言到低级别的机器语言肯定是要经过翻译过程,这个过程大体的过程如下图所示: 在Unix系统中,从源文件到可执行目标文件是由编译驱动程序完

    2024年02月12日
    浏览(39)
  • C++之lambda函数应用(一百四十七)

    简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏: Audio工程师进阶系列 【 原创干货持续更新中…… 】🚀 人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药. 更多原创,欢迎关注:An

    2024年02月11日
    浏览(66)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包