浅谈VC中预编译的头文件放那里的问题分析
时间:2021-03-18 09:47:15|栏目:C代码|点击: 次
用C++写程序,肯定要用预编译头文件,就是那个stdafx.h.
不过我一直以为只要在.cpp文件中包含stdafx.h 就使用了预编译头文件,其实不对。
在VC++中,预编译头文件是指放到stdafx.h中的头文件才会有效果。
如下:
file: stdafx.h
// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently
//
#pragma once
#ifndef _WIN32_WINNT // Allow use of features specific to Windows XP or later.
#define _WIN32_WINNT 0x0501 // Change this to the appropriate value to target other versions of Windows.
#endif
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
// 各位注意,要想使用预编译效果的头文件要放这里。
#include <Windows.h>
#include "xxx.h"
// TODO: reference additional headers your program requires here
在stdafx.cpp中保持不变即可,默认如下:
// stdafx.cpp : source file that includes just the standard includes
// CPPTestHelper.pch will be the pre-compiled header
// stdafx.obj will contain the pre-compiled type information
#include "stdafx.h"
// TODO: reference any additional headers you need in STDAFX.H
// and not in this file
不过我一直以为只要在.cpp文件中包含stdafx.h 就使用了预编译头文件,其实不对。
在VC++中,预编译头文件是指放到stdafx.h中的头文件才会有效果。
如下:
file: stdafx.h
复制代码 代码如下:
// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently
//
#pragma once
#ifndef _WIN32_WINNT // Allow use of features specific to Windows XP or later.
#define _WIN32_WINNT 0x0501 // Change this to the appropriate value to target other versions of Windows.
#endif
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
复制代码 代码如下:
// 各位注意,要想使用预编译效果的头文件要放这里。
#include <Windows.h>
#include "xxx.h"
复制代码 代码如下:
// TODO: reference additional headers your program requires here
在stdafx.cpp中保持不变即可,默认如下:
复制代码 代码如下:
// stdafx.cpp : source file that includes just the standard includes
// CPPTestHelper.pch will be the pre-compiled header
// stdafx.obj will contain the pre-compiled type information
#include "stdafx.h"
// TODO: reference any additional headers you need in STDAFX.H
// and not in this file
栏 目:C代码
下一篇:C语言实现扫雷游戏详细代码实例
本文标题:浅谈VC中预编译的头文件放那里的问题分析
本文地址:http://www.codeinn.net/misctech/83452.html