亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

解析VC中預編譯頭文件的深入分析

2020-01-26 16:11:20
字體:
來源:轉載
供稿:網友
一。為什么預編譯頭文件:
預編譯頭的概念:
所謂的預編譯頭就是把一個工程中的那一部分代碼,預先編譯好放在一個文件里(通常是以.pch為擴展名的),這個文件就稱為預編譯頭文件這些預先編譯好的代碼可以是任何的C/C++代碼,甚至是inline的函數,但是必須是穩定的,在工程開發的過程中不會被經常改變。如果這些代碼被修改,則需要重新編譯生成預編譯頭文件。注意生成預編譯頭文件是很耗時間的。同時你得注意預編譯頭文件通常很大,通常有6-7M大。注意及時清理那些沒有用的預編譯頭文件。
也許你會問:現在的編譯器都有Time stamp的 功能,編譯器在編譯整個工程的時候,它只會編譯那些經過修改的文件,而不會去編譯那些從上次編譯過,到現在沒有被修改過的文件。那么為什么還要預編譯頭文件呢?答案在這里,我們知道編譯器是以文件為單位編譯的,一個文件經過修改后,會重新編譯整個文件,當然在這個文件里包含的所有頭文件中的東西(.eg Macro, Preprocessor )都要重新處理一遍。VC的預編譯頭文件保存的正是這部分信息。以避免每次都要重新處理這些頭文件。
根據上文介紹,預編譯頭文件的作用當然就是提高編譯速度了,有了它你沒有必要每次都編譯那些不需要經常改變的代碼。編譯性能當然就提高了。

我們來考察一個典型的由AppWizard生成的MFC Dialog Based 程序的預編譯頭文件。(因為AppWizard會為我們指定好如何使用預編譯頭文件,默認的是StdAfx.h,這是VC起的名字)。我們會發現這個頭文件里包含了以下的頭文件:
#include <afxwin.h>    // MFC core and standard components
#include <afxext.h>    // MFC extensions
#include <afxdisp.h>    // MFC Automation classes
#include <afxdtctl.h> // MFC support for Internet Explorer 4 Common Controls
#include <afxcmn.h>
這些正是使用MFC的必須包含的頭文件,當然我們不太可能在我們的工程中修改這些頭文件的,所以說他們是穩定的。

二。如何預編譯頭文件:
要使用預編譯頭,我們必須指定一個頭文件,這個頭文件包含我們不會經常改變的代碼和其他的頭文件,然后我們用這個頭文件來生成一個預編譯頭文件(.pch文件)想必大家都知道 StdAfx.h這個文件。很多人都認為這是VC提供的一個“系統級別”的,編譯器帶的一個頭文件。其實不是的,這個文件可以是任何名字的。
1.如何在工程中使用預編譯頭文件:最簡單的是在建立工程的時候選擇“使用預編譯頭文件”;如果建立工程時沒選,那么還可以在project ->Setting->C/C++ ->precompimed header中設置。
2.如何指定預編譯頭文件的頭文件名:默認為StdAfx.h,不過可以通過project ->Setting->C/C++ ->precompimed header中設置成任何名字(實際是通過指令/Yc, /Yu)。然后再把穩定不變的代碼的頭文件包含到該頭文件中即可。
3.需要的實現文件:編譯需要CPP文件,而這個CPP文件自然地就是頭文件名對應的CPP文件了,在這個CPP文件里只有一句胡:包含要預編譯的文件頭。
4.通過project ->Setting->C/C++ ->precompimed header中設置預編譯文件的名稱(以.pch結尾)(實際上是通過指定/Fp )。

三。如何使用預編譯的頭文件:
1.通過project ->Setting->C/C++ ->precompimed header設置好使用預編譯頭文件(/Yc, /Yu),依賴哪個頭文件,及預編譯好的頭文件名。
2.如果你把pch文件不小心丟了,根據以上的分析,你只要讓編譯器生成一個pch文件就可以了。也就是說把 stdafx.cpp(即指定/Yc的那個cpp文件)重新編譯一遍就可以了。當然你可以傻傻的 Rebuild all。簡單一點就是選擇那個cpp文件,按一下Ctrl + F7就可以了。
3.如果使用了/Yu,就是說使用了預編譯,我們在每個.cpp文件的最開頭,我強調一遍是最開頭,包含你指定產生pch文件的.h文件(默認是stdafx.h)不然就會有問題。如果你沒有包含這個文件,就告訴你Unexpected file end. 如果你不是在最開頭包含的,你自己試以下就知道了,絕對有很驚人的效果。 (原因就在于編譯器編譯的時候不會編譯stdafx.h前面的頭文件)。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
www.日韩不卡电影av| 日韩中文第一页| 亚洲精品久久久久久久久久久久久| 亚洲欧洲午夜一线一品| 色综合老司机第九色激情| 国产精品三级久久久久久电影| 成人h猎奇视频网站| 国产美女久久精品| www.99久久热国产日韩欧美.com| 欧美成人免费在线视频| 久久精品国产欧美亚洲人人爽| 91亚洲人电影| 91精品国产高清久久久久久91| 一本色道久久综合狠狠躁篇的优点| 久久久亚洲国产天美传媒修理工| 亚洲www在线观看| 欧美日韩人人澡狠狠躁视频| 日韩精品丝袜在线| 欧美一级免费视频| 欧美二区在线播放| 国产一区二区日韩精品欧美精品| 精品无码久久久久久国产| 91av视频导航| 欧美性xxxx18| 久久精品成人欧美大片| 亚洲欧洲一区二区三区在线观看| 2018日韩中文字幕| 456亚洲影院| 欧美成在线视频| 亚洲аv电影天堂网| 全色精品综合影院| 日韩欧美中文在线| 欧美激情二区三区| 亚洲欧美一区二区三区久久| 亚洲女在线观看| 欧美日韩国产色视频| 精品在线小视频| 中文字幕亚洲精品| 琪琪亚洲精品午夜在线| 久久久精品国产网站| 久久精品国产2020观看福利| 成人免费网视频| 97国产真实伦对白精彩视频8| 91视频国产高清| 午夜免费在线观看精品视频| 久久久久久久一区二区| 欧美精品激情blacked18| 国产日韩精品在线| 久久久久久有精品国产| 国产精品大陆在线观看| 久久久久久久爱| 日韩av电影中文字幕| 一级做a爰片久久毛片美女图片| 亚洲一区美女视频在线观看免费| 亚洲第一男人av| 夜夜躁日日躁狠狠久久88av| 一本色道久久88精品综合| 国产成人精品在线播放| 国产亚洲精品美女| 亚洲精品视频中文字幕| 欧美成人一区在线| 亚洲精品日韩激情在线电影| 久久久精品一区二区三区| 国产在线视频一区| 欧美高清性猛交| 热草久综合在线| 欧美伊久线香蕉线新在线| 中文字幕国内精品| 成人xvideos免费视频| 97久久精品人搡人人玩| 91香蕉嫩草神马影院在线观看| 亚洲精品自在久久| 亚洲精选在线观看| 日韩中文在线观看| 欧美一区二区大胆人体摄影专业网站| 亚洲已满18点击进入在线看片| 欧美激情久久久久| 国产成人一区二区三区| 亚洲成人国产精品| 欧美国产日韩在线| 欧美三级免费观看| 久99九色视频在线观看| 国产美女直播视频一区| 亚洲第一av网站| 91久久精品国产91久久| 国产精品美乳一区二区免费| 精品欧美激情精品一区| 国产一区二区三区视频| 日韩精品久久久久久福利| 国产一区二区美女视频| 国产在线不卡精品| 亚洲欧美精品一区| 高清视频欧美一级| 亚洲国语精品自产拍在线观看| 伊人一区二区三区久久精品| 亚洲一区二区福利| 久久精品99无色码中文字幕| 国内精品久久久久久中文字幕| 久久久久久国产精品美女| 国产日韩欧美黄色| 亚洲视频电影图片偷拍一区| 九色精品美女在线| 国产一区二区视频在线观看| 欧美精品日韩www.p站| 成人亚洲激情网| 成人精品福利视频| 久久久精品视频成人| 久久伊人精品视频| 国产一区二区三区在线播放免费观看| www.欧美三级电影.com| wwwwwwww亚洲| 亚洲精品国产品国语在线| 欧美国产日韩一区二区三区| 中文字幕亚洲在线| 亚洲奶大毛多的老太婆| 永久免费看mv网站入口亚洲| 欧美激情2020午夜免费观看| 国产成人午夜视频网址| 国产精品美女在线观看| 欧美成人h版在线观看| 国产成人拍精品视频午夜网站| 欧美日韩在线看| 亚洲国产精品va在看黑人| 国产欧美欧洲在线观看| 久久精品国产91精品亚洲| 色悠悠久久88| 91亚洲国产成人久久精品网站| 久久精品一偷一偷国产| 亚洲在线一区二区| 91国自产精品中文字幕亚洲| 日韩中文综合网| 亚洲奶大毛多的老太婆| 亚洲欧美另类在线观看| 亚洲精品视频中文字幕| 高清在线视频日韩欧美| 98午夜经典影视| 久久国产精品电影| 欧美电影在线观看完整版| 久久久久九九九九| 久久国产精品久久精品| 日韩精品视频在线观看网址| 国自在线精品视频| 91精品国产综合久久香蕉的用户体验| 国产欧美日韩免费| 亚洲精品免费网站| 国产亚洲精品美女久久久| 欧美午夜激情视频| 日本欧美国产在线| 怡红院精品视频| 精品久久久91| 97国产suv精品一区二区62| 国产亚洲人成a一在线v站| 久久久精品久久久久| 亚洲bt欧美bt日本bt| 尤物精品国产第一福利三区| 日韩精品中文字幕久久臀| 亚洲精品乱码久久久久久按摩观| 欧洲亚洲免费在线| 亚洲成人性视频| 欧美天堂在线观看| 欧美成人精品激情在线观看| 91视频免费在线| 九九精品视频在线| 最近中文字幕2019免费|