淺談VC中預編譯的頭文件放那里的問題分析
更新時間:2013年05月17日 17:31:20 作者:
本篇文章是對VC中預編譯的頭文件放那里的問題進行了詳細的分析介紹,需要的朋友參考下
用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
相關(guān)文章
C++實現(xiàn)LeetCode(6.字型轉(zhuǎn)換字符串)
這篇文章主要介紹了C++實現(xiàn)LeetCode(6.字型轉(zhuǎn)換字符串),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下2021-07-07詳解Ubuntu18.04配置VSCode+CMake的C++開發(fā)環(huán)境
這篇文章主要介紹了詳解Ubuntu18.04配置VSCode+CMake的C++開發(fā)環(huán)境,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-03-03C語言中的內(nèi)聯(lián)函數(shù)(inline)與宏定義(#define)詳細解析
內(nèi)聯(lián)函數(shù)與宏本質(zhì)上是兩個不同的概念如果程序編寫者對于既要求快速,又要求可讀的情況下,則應該將函數(shù)冠以inline2013-09-09