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

发布时间:2024年01月16日

本节介绍c++预编译头文件。

  • 预编译头文件是指抓取一堆头文件,并将其转换成编译器可使用的格式,不需要多次去读取这些头文件。?
  • 例如经常使用一些c++stl的标准库,vector等,需要#include<vector>,该操作会读取整个vector头文件并编译该头文件。同时vector也包含一堆其他头文件,同样预处理必须将这些头文件复制到vector文件,并编译。如果个人项目中不同的.h文件中,好几个都包含#include<vector>,则每次都需要执行上述操作。为解决上述问题可以使用预编译头文件,预编译头文件的作用是接收一切我们告诉它要接收的头文件,它只编译一次,以二进制格式进行存储,因此会极大程度的提高项目的编译时间。
  • 预编译头文件使用方法:
  • 预编译头文件是一个包含其他头文件的头文件,一般命名为pch,visiual studio将其命名为stdafx.h。但不能将所有需要到的头文件都添加进去,因为pch包含的头文件每次修改之后都需要重新编译,因此只需要包含几乎不更改的头文件或者很少修改的头文件在预编译头文件中即可。
  • visiual studio做法是新建一个包含pch.h的cpp文件,在新建的cpp文件下,右键->属性->c/c++->预编译头->创建
  • 在整个工程下右键->属性->c/c++->预编译头->使用
  • 在visiual studio中查看编译时间的设置方式如下:
  • 工具->选项->项目和解决方案->VC++项目设置->生成计时 改为是
  • 在g++中使用预编译头的方式
  • g++ -std=c++11 pch.h? ? 编译该pch.h文件
  • 之后在编译项目文件即可 g++ -std=c++11 Test.cpp,加上time即可看到编译的时间,time?g++ -std=c++11 Test.cpp。
文章来源:https://blog.csdn.net/qq_16701727/article/details/135623351
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。