• VC++中为何在每个CPP文件中必须要加入StdAfx.h头文件


      首先,与StdAfx.h对应的还有一个StdAfx.cpp文件,他们的目的是一次编译,生成一个projectname.pch这样的一个预编译头文件,将其用于工程中所有的cpp文件,这样的话,如果工程中的某个cpp文件需要引用头文件的话,则只需要去引用预编译pch文件即可,无需引入头文件,从而避免了重新编译头文件的麻烦,由于MFC系统的头文件比较巨大,如果每个CPP都重新编译一遍头文件,将浪费过多的编译时间,故这种做法能大大加快编译速度。

    其次,这就要求每个CPP如果要使用预编译头文件projectname.pch加快编译速度的话,VC默认的方式是通过在文件的中加入StdAfx.h的方法来告知编译器需要使用projectname.pch,当然,如果不使用预编译头文件,不想有这样的限制的话,可以在工程->设置->c/c++->预编译头文件中修改相关选项为不使用预编译头文件。

    最后,使用预编译头文件技术,将工程中需要使用频繁,但修改不频繁的头文件放到StdAfx.h中,这样只需要在第一次编译时生成projectname.pch文件,之后只要StdAfx.h文件的内容没有改变,StdAfx.cpp将不需要重新编译,从而又一次提高了编译速度。

  • 相关阅读:
    Session的配置
    插件编程小窥
    今日遇到了困难,顺便看了下SMO
    初识三层架构
    .NET文件类库
    JQuery学习笔记
    反射整理学习<二>
    通俗道破单例模式
    菜鸟写代码生成器最后一天完结篇
    卧谈会:委托与事件
  • 原文地址:https://www.cnblogs.com/xuangong/p/2122151.html
Copyright © 2020-2023  润新知