zoukankan      html  css  js  c++  java
  • gch文件学习

    今晚学习友元函数的时候一点一点的在写一个头文件和一个源文件,中间g++ test.h了一下,无意中就生成了test.h.gch文件。后来修改了头文件的内容,但是不知道为什么一直各种出错,一番折腾之后才发现原来就是gch文件的原因,gch在编译器中不会因为修改了头文件去作更新修改,所以在每一次的编译时编译器都会去先查找头文件对应的gch文件,如果发现就直接调用gch文件,导致新修改的头文件并没有起作用。解决方法就是删除原先的gch文件了,或者别没事儿就g++你的头文件。。

    简单说一下gch文件

    概念:

    gch即预编译头,将头文件预编译为二进制代码后后续编译使用。当多个源文件包含一个头文件,正常流程是将其在每个源文件中解析一遍,造成重复浪费。使用gch,将头文件作预编译头形成中间处理的二进制代码,然后再包含进源文件中。

    适用:

    gch适用于被多个源文件包含的头文件,且头文件不会经常做修改。

    注意:

    gch提高了编译速度,但需要注意在默认情况下gch不会因为头文件的更新而更新,从而在编译过程中形成一个不容易发现的坑。需要将头文件和gch设置为依赖关系。

  • 相关阅读:
    VMware安装Centos7超详细过程
    Linux部署Web项目
    Entity Framework快速入门IQueryable与IEnumberable的区别
    ASP.NET MVC3中的路由系统(Routes)
    C# Lambda表达式概述
    WCF大数据量传输解决要点
    div滚动条样式设计
    ASP.NET MVC 自定义路由
    C# Lambda表达式学习笔记
    C# 操作excel
  • 原文地址:https://www.cnblogs.com/xiaoleiel/p/8296367.html
Copyright © 2011-2022 走看看