头文件预编译 .

对预编译头文件说明如下:

所谓头文件预编译,就是把一个工程(Project)中使用的一些MFC标准头文件(如Windows.H、Afxwin.H)预先编译,以后该工程编译时,不再编译这部分头文件,仅仅使用预编译的结果。这样可以加快编译速度,节省时间。

预编译头文件通过编译stdafx.cpp生成,以工程名命名,由于预编译的头文件的后缀是“pch”,所以编译结果文件是projectname.pch。

编译器通过一个头文件stdafx.h来使用预编译头文件。stdafx.h这个头文件名是可以在project的编译设置里指定的。编译器认为,所有在指令#include "stdafx.h"前的代码都是预编译的,它跳过#include "stdafx. h"指令,使用projectname.pch编译这条指令之后的所有代码。

因此,所有的CPP实现文件第一条语句都是:#include "stdafx.h"。

时间: 2024-09-15 23:59:17

头文件预编译 .的相关文章

mfc单文档显示-对话框头文件的编译问题

问题描述 对话框头文件的编译问题 问:? 100 问:? 100 在编译和链接时,总是出现一行错误,说头文件"InputDlg.h"是:No such file or directory....求大神解释一下,这是怎么回事,怎么修改啊?? 解决方案 C++头文件编译问题C++头文件编译问题c++中的预编译头文件问题

编译错误-string在头文件中编译时提示缺少“;”,求解

问题描述 string在头文件中编译时提示缺少":",求解 碰到一个神奇的问题: //在head.h头文件中写如下代码: class A { public: string name; A (string); }; 结果编译的时候出现name前缺少":",如果我真的在name前加上一个":",编译的时候这个问题就没了,你说神奇不?有人知道怎么解决吗? 如果把class A和源文件写在一起就没问了,搞的我莫名其妙. 解决方案 C++为了安全,提供命名

编译出错-调用logc4xx-0.10.0,加头文件,编译出现error C2252

问题描述 调用logc4xx-0.10.0,加头文件,编译出现error C2252 通过网上相关文章,我配置好了log4cxx和测试也成功了. 接下来,我就添加了#include "log4cxx/net/socketappender.h"头文件,编译,就报错 e:201509log4cxxtyapache-log4cxx-0.10.0srcmainincludelog4cxxspiloggingevent.h(155): error C2252: 只能在命名空间范围内显式实例化模板

头文件-devc++编译后再stl_iterator_base_types中报错

问题描述 devc++编译后再stl_iterator_base_types中报错 我的代码片段如下 int analy(vector< vector > info) { int chalg=-1; int flag=0; vector seq; vector chalgseq; for(int i=0;i<=lengthf-1;i++) { sort(*info[i].begin(), *info[i].end() ); } seq.push_back(*info[0].begin()

理解预编译头

所谓头文件预编译,就是把一个工程(Project)中使用的一些MFC标准头文件(如Windows.H.Afxwin.H)预先编译,以后该工程编译时,不再编译这部分头文件,仅仅使用预编译的结果.这样可以加快编译速度,节省时间. 一.预编译头文件说明 所谓头文件预编译,就是把一个工程(Project)中使用的一些MFC标准头文件(如Windows.H.Afxwin.H)预先编译,以后该工程编译时,不再编译这部分头文件,仅仅使用预编译的结果.这样可以加快编译速度,节省时间.预编译头文件通过编译stda

服务器-更新ASP.NET网站时:未预编译文件“XXXX.ASPX”,因此不能请求该文件

问题描述 更新ASP.NET网站时:未预编译文件"XXXX.ASPX",因此不能请求该文件 原网站是把.CS文件预编译成dll,和.aspx文件等预编译成 .compiled文件+一个空的aspx页面(这是个61B的空文件,打开就一句话"这是预编译工具生成的标记文件,不应被删除!"). 好了,介绍好这些后.我源码更新了其中某些页面,包括一些CS文件,用同样的放是编译,挑出了我改动的7个页面的.compiled文件,以及其对应的7个dll.如何对应的呢,是打开.com

通过预编译头文件来提高CB的编译速度

C++ Builder是最快的C++编译器之一,从编译速度来说也可以说是最快的win32C++编译器了.除了速度之外,C++builder的性能也在其它C++编译器的之上,但许多delphi程序员仍受不了C++builder工程的编译速度.的确,delphi的速度要比任和c++的编译器都要快好多.Delphi在编译一个小工程的时候可能不到一秒,大的工程一般也在5秒钟这内编译完成了. 为什么delphi会比c++builder快这么多?是否有方法来c++builder的编译速度?本文就讲解了为什么

C++预编译头文件

许多初学 VC 的朋友也许都为那么一个问题困扰过:     为什么所有的 cpp 都必须 #include "stdafx.h"     也许请教了别的高手之后,他们会告诉你,这是预编译头,必须包含.可是,这到底是为什么呢?预编译头有什么用呢?     这得从头文件的编译原理讲起.其实头文件并不神秘,它的全部作用,就是把自己的所有内容直接"粘贴"到相应的 #include 语句处.如果不相信的话,不妨做个实验,将一个 cpp 中的所有 #include 语句删掉,并

fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include &quot;stdafx.h

错误描述:fatal error C1010: 在查找预编译头时遇到意外的文件结尾.是否忘记了向源中添加"#include "stdafx.h""? 错误分析:     此错误发生的原因是编译器在寻找预编译指示头文件(默认#include "stdafx.h")时,文件未预期结束.没有找到预编译指示信息的头文件"stdafx.h".     (因为工程中的每个cpp文件属性默认都是使用预编译头(/YU)的,但是添加的第三方文件