vs使用预编译头
❶ VC++里的 预编译头 是什么意思,干嘛用的
一、什么是预编译头?
预编译头物理上与通常的的.obj文件是一样的,但编译入预编译头的.h,.c,.cpp文件在整个编译过程中,只编译一次,如预编译头所涉及的部分不发生改变的话,在随后的编译过程中此部分不重新进行编译。进而大大提高编译速度,并便于对头文件进行管理,也有助于杜绝重复包含问题。
二、什么时候使用预编译头?
当大多.c或.cpp文件都需要相同的头文件时。
当某些代码被大量重复使用时。
当导入某些不同库都有实现的函数,并产生混乱时。
❷ vs2010里win32项目选了预编译头后,程序里怎么是_tmain为什么和书上winmain不
两个都是开发在windows平台上运行的程序,能用mfc开发的,为什么要用win32api来开发呢,象一些windows上运行的3d引擎,都是用win32 api开发的,所以进行二次开发肯定是用win32 api,但是其他一些MS系统好像没有必要用api,用mfc就可以了,反正编...
❸ vs2008下如何调试C++,初次使用,怎么调试啊 在查找预编译头时遇到意外的文件结尾。求大神指点
解决方法是在在include头文件的地方加上#include "stdafx.h",或者打开项目属性,找到“C/C++”标签页,单击“预编译头”属性页。修改“创建/使用预编译头”属性为“不使用预编译头”。
❹ visual studio 2019怎么在新建工程的时候自动添加预编译头文件
看上去应该是可以的,你把鼠标移到红线上面看看是啥错误
我觉得有可能是String.h,String类在内库中已经有了,要么就是用法不规范什么的
❺ vs2008添加预编译命令
以预编译头文件为Stdafx.h为例:
Qt Creator中很简单,只需在.pro文件中加入一行PRECOMPILED_HEADER = stdafx.h
VS2008在工程中在Stdafx.h文件上右键propertis-Configuration Properties-C/C++-Precompiled Headers-Create/Use Precompiled Header中选择Create Precompiled Header(/y).
有一点注意的是,在工程Generated Filed中的moc相关文件也需要选上Use Precompiled Header (/Yu).
❻ 关于使用预编头和创建预编译头有什么区别
在vs2013下测试了一下,选中与否生成的项目结构是一样的。如果不选中预编译头,只保留mycpp1.cpp并作出相应修改,构建是可以通过的。如果是勾选了预编译头,只保留mycpp1.cpp是不可以编译通过的。正如最快回答中所说的,不选中,stdafx.h只是个普通的头文件,产生的文件结构一样只是采用了同一个模板而已。如果你仔细查看过工程的属性里有个选项就是预编译头,创建项目的时候预编译头的勾选与否,对应的就是这里这个选项,对应到编译阶段就是是否查找stdafx.h并且将它视为预编译头。
❼ visual studio 预编译头有什么用
编译器预编译一些不容易变动的头文件,提高整个项目的生成速度。 对于大项目使用预编译头可以大大减少编译时间。
❽ VS2010中C编程问题
#include <stdio.h>这个头文件是国际标准头文件,写标准代码时,只需要包含这个。。
而#include "StdAfx.h"是微软vc的预编译头模块,非国际标准。
预编译头能加速大程序的编译过程。
你可能在项目哪里设置了“使用预编译头”,但又没有在代码中写上#include "StdAfx.h"
所以会出错。加上即可。
或者取消使用预编译头,就不写。这2种方式微软vc都兼容。
❾ vs2010怎么预编译头文件
清理解决方案。。然后重新生成
❿ VS中C++程序系统都要加个"stdafx"头文件,这个干什么用的
stdafx.h : 标准系统包含文件的包含文件
VC创建项目时自动创建的预编译头文件,在编译其他文件之前,VC先预编译此文件。头文件stdafx.h引入了项目中需要的一些通用的头文件,比如window.h等,在自己的头文件中包括stdafx.h就包含了那些通用的头文件。
所谓头文件预编译,就是把一个工程(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"。