1.在VC编译器下面为什么每个头文件以及源文件都要包含“stdAfx.h”,那么stdAfx.h中到底存放了什么,用来做什么?

我们知道在windows平台下面很多的文件后缀名中都含有Afx,其实Afx是微软公司的一个技术研发团队名称,vc下的“stdAfx.h”和“stdAfx.cpp”文件就是有他们所研发出来的,为什么要这么做呢,原因是当我们在一个工程下面建立多个头文件和源文件并且这些头文件和源文件 都包含了系统(比如windows.h)文件时那么在编译阶段就会发生非常庞大的代码展开(因为系统文件一般都比较庞大)在这些每一个包含了系统文件的头文件和源文件中去多次展开无疑是效率上的灾难,那么有没有办法只进行一次展开呢,这就是我们所提到的“stdAfx.h”所带来的优势,我们只要将系统文件包含到“stdAfx.h”头文件中那么在编译阶段编译器优先编译“stdAfx.cpp”,将会产生一个编译后的后缀名为.pch的文件,那么系统文件内容将会产生唯一一份的系统文件存放到“,pch”之中,所以说以后只要在每一个头文件和源文件之中包含“stdAfx.h”文件就可以了,这样就做到了系统文件的一次展开多次利用,大大提高了我们的编译效率。

posted @ 2016-06-30 12:42  荼蘼花开  阅读(884)  评论(0编辑  收藏  举报