青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Where there is a dream ,there is hope

  C++博客 :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
  64 Posts :: 0 Stories :: 8 Comments :: 0 Trackbacks

常用鏈接

留言簿(1)

我參與的團隊

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

VC++的預(yù)編譯功能
TAG:預(yù)編譯和宏定義,VC++,VC++的預(yù)編譯功能
TEXT:
這里介紹VC6的預(yù)編譯功能的使用,由于預(yù)編譯詳細使用比較的復(fù)雜,這里只介紹幾個最重要的預(yù)編譯指令: /Yu, /Yc,/Yx,/Fp。其它的詳細資料可以參考: MSDN -> Visual Studio 6.0 Document -> Visual C++ 6.0 Document -> VC++ Programmer Guider - >Compiler and Linker -> Details -> Creating Precompiled Header files
   預(yù)編譯頭的概念:
   所謂的預(yù)編譯頭就是把一個工程中的那一部分代碼,預(yù)先編譯好放在一個文件里(通常是以.pch為擴展名的),這個文件就稱為預(yù)編譯頭文件這些預(yù)先編譯好的代碼可以是任何的C/C++代碼,甚至是inline的函數(shù),但是必須是穩(wěn)定的,在工程開發(fā)的過程中不會被經(jīng)常改變。如果這些代碼被修改,則需要重新編譯生成預(yù)編譯頭文件。注意生成預(yù)編譯頭文件是很耗時間的。同時你得注意預(yù)編譯頭文件通常很大,通常有6- 7M大。注意及時清理那些沒有用的預(yù)編譯頭文件。
   也許你會問:現(xiàn)在的編譯器都有Time stamp的功能,編譯器在編譯整個工程的時候,它只會編譯那些經(jīng)過修改的文件,而不會去編譯那些從上次編譯過,到現(xiàn)在沒有被修改過的文件。那么為什么還要預(yù)編譯頭文件呢?答案在這里,我們知道編譯器是以文件為單位編譯的,一個文件經(jīng)過修改后,會重新編譯整個文件,當然在這個文件里包含的所有頭文件中的東西(.eg Macro, Preprocessor )都要重新處理一遍。 VC的預(yù)編譯頭文件保存的正是這部分信息。以避免每次都要重新處理這些頭文件。
   根據(jù)上文介紹,預(yù)編譯頭文件的作用當然就是提高便宜速度了,有了它你沒有必要每次都編譯那些不需要經(jīng)常改變的代碼。編譯性能當然就提高了。
   要使用預(yù)編譯頭,我們必須指定一個頭文件,這個頭文件包含我們不會經(jīng)常改變的代碼和其他的頭文件,然后我們用這個頭文件來生成一個預(yù)編譯頭文件(.pch文件)想必大家都知道 StdAfx.h這個文件。很多人都認為這是VC提供的一個“系統(tǒng)級別”的,編譯器帶的一個頭文件。其實不是的,這個文件可以是任何名字的。我們來考察一個典型的由AppWizard生成的MFC Dialog Based 程序的預(yù)編譯頭文件。(因為AppWizard會為我們指定好如何使用預(yù)編譯頭文件,默認的是StdAfx.h,這是VC起的名字)。我們會發(fā)現(xiàn)這個頭文件里包含了以下的頭文件:
#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的必須包含的頭文件,當然我們不太可能在我們的工程中修改這些頭文件的,所以說他們是穩(wěn)定的。
   那么我們?nèi)绾沃付ㄋ鼇砩深A(yù)編譯頭文件。我們知道一個頭文件是不能編譯的。所以我們還需要一個cpp文件來生成.pch 文件。這個文件默認的就是StdAfx.cpp。在這個文件里只有一句代碼就是:#include“Stdafx.h”。原因是理所當然的,我們僅僅是要它能夠編譯而已―――也就是說,要的只是它的.cpp的擴展名。我們可以用/Yc編譯開關(guān)來指定StdAfx.cpp來生成一個.pch文件,通過/Fp編譯開關(guān)來指定生成的pch文件的名字。打開project - >Setting->C/C++ 對話框。把Category指向Precompiled Header。在左邊的樹形視圖里選擇整個工程,Project Options(右下角的那個白的地方)可以看到 /Fp “debug/PCH.pch”,這就是指定生成的.pch文件的名字,默認的通常是 <工程名>.pch。然后,在左邊的樹形視圖里選擇StdAfx.cpp,這時原來的Project Option變成了 Source File Option(原來是工程,現(xiàn)在是一個文件,當然變了)。在這里我們可以看到 /Yc開關(guān),/Yc的作用就是指定這個文件來創(chuàng)建一個Pch文件。/Yc后面的文件名是那個包含了穩(wěn)定代碼的頭文件,一個工程里只能有一個文件的可以有YC開關(guān)。VC就根據(jù)這個選項把 StdAfx.cpp編譯成一個Obj文件和一個PCH文件。
這樣,我們就設(shè)置好了預(yù)編譯頭文件。也就是說,我們可以使用預(yù)編譯頭功能了。以下是注意事項:
   1)如果使用了/Yu,就是說使用了預(yù)編譯,我們在每個.cpp文件的最開頭,包含你指定產(chǎn)生pch文件的.h文件(默認是stdafx.h)不然就會有問題。如果你沒有包含這個文件,就告訴你Unexpected file end.
   2)如果你把pch文件不小心丟了,根據(jù)以上的分析,你只要讓編譯器生成一個pch文件就可以了。也就是說把 stdafx.cpp(即指定/Yc的那個cpp文件)重新編譯一遍就可以了。
posted on 2011-02-10 10:12 IT菜鳥 閱讀(383) 評論(0)  編輯 收藏 引用 所屬分類: C/C++
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久综合影音| 欧美美女视频| 国产欧美91| 欧美在线一区二区三区| 亚洲免费在线电影| 国产一区二区三区四区| 久久精品人人爽| 久久久久久香蕉网| 91久久极品少妇xxxxⅹ软件| 亚洲成人自拍视频| 欧美激情一区二区久久久| 日韩视频免费大全中文字幕| 亚洲美女尤物影院| 国产精品国产自产拍高清av王其| 亚洲在线播放| 久久成人羞羞网站| 亚洲免费观看在线观看| 亚洲视频二区| …久久精品99久久香蕉国产| 91久久精品国产91久久| 欧美日韩中文字幕在线| 久久久久久久尹人综合网亚洲| 久久婷婷国产综合精品青草 | 一本色道88久久加勒比精品| 国产精品推荐精品| 免费在线看一区| 欧美视频在线观看一区| 久久综合狠狠综合久久激情| 欧美日韩国产免费观看| 久久精品国产999大香线蕉| 美国十次成人| 久久国产一二区| 欧美国产成人精品| 久久久噜噜噜久久人人看| 欧美人体xx| 老司机aⅴ在线精品导航| 欧美日韩人人澡狠狠躁视频| 久久性色av| 欧美日韩视频在线观看一区二区三区| 久久天堂精品| 国产精品呻吟| 亚洲日韩第九十九页| 国产一区二区三区在线观看网站| 亚洲激情在线观看| 在线免费观看一区二区三区| 在线亚洲+欧美+日本专区| 亚洲人久久久| 久久久久91| 欧美一二三区精品| 欧美日韩一区二区视频在线 | 亚洲国产婷婷综合在线精品| 国产欧美日韩视频在线观看| 亚洲免费播放| 亚洲精品在线一区二区| 久久久久九九视频| 久久久久久久久综合| 国产精品久久99| 日韩一级不卡| 中文网丁香综合网| 女主播福利一区| 欧美成人国产一区二区| 国产欧美一区视频| 亚洲综合精品自拍| 午夜欧美精品久久久久久久| 欧美日韩亚洲高清| 亚洲人成亚洲人成在线观看图片 | 黄色一区二区三区| 欧美在线一区二区三区| 久久av一区二区三区| 国产精品免费看| 亚洲在线电影| 久久精品最新地址| 国产日韩欧美亚洲| 欧美有码视频| 久久蜜桃精品| 亚洲人成网在线播放| 欧美成人精品激情在线观看| 亚洲黄页一区| 亚洲主播在线播放| 国产精品一区二区久久国产| 亚洲在线观看视频网站| 欧美在线看片a免费观看| 国产亚洲欧美日韩在线一区| 久久国产加勒比精品无码| 欧美+日本+国产+在线a∨观看| 影音先锋国产精品| 欧美精品一级| 亚洲无毛电影| 久久综合九色九九| 亚洲日本一区二区| 国产精品久久久久秋霞鲁丝| 亚洲欧美日韩一区二区在线| 蜜臀久久久99精品久久久久久| 亚洲高清123| 欧美视频一区二区三区…| 亚洲综合第一| 欧美黄色免费| 亚洲欧美一区二区激情| 国内在线观看一区二区三区 | 国产精品99久久久久久人| 欧美在线一二三| 亚洲区国产区| 国产嫩草一区二区三区在线观看| 久久久久久久精| 99pao成人国产永久免费视频| 欧美一区二区三区在线观看| 在线免费一区三区| 欧美三区在线视频| 久久视频在线免费观看| 亚洲伦理中文字幕| 开心色5月久久精品| 夜夜嗨av色一区二区不卡| 国产综合自拍| 国产精品久久久久免费a∨| 另类av一区二区| 欧美一区二区三区四区夜夜大片| 亚洲成人自拍视频| 欧美在线视频免费播放| 日韩午夜免费| 在线精品视频免费观看| 国产精品实拍| 国产精品第一区| 欧美不卡一卡二卡免费版| 欧美一区免费视频| 亚洲主播在线| 日韩视频专区| 亚洲欧洲三级| 欧美激情按摩| 蜜桃久久av一区| 久久国产精品久久久| 亚洲欧美国产精品va在线观看| 亚洲伦理网站| 亚洲激情网址| 亚洲欧洲综合另类在线| 国内精品伊人久久久久av影院| 国产精品美女久久久久av超清| 欧美jizzhd精品欧美巨大免费| 久久国产精品99国产| 欧美一区二区视频免费观看| 亚洲综合首页| 亚洲在线观看视频| 亚洲男女毛片无遮挡| 亚洲视频精品| 亚洲男女自偷自拍| 亚洲一区二区三区免费观看| 一区二区三区高清在线观看| 一级日韩一区在线观看| 一本久道综合久久精品| 夜夜嗨av色一区二区不卡| 亚洲毛片在线| 亚洲性感美女99在线| 亚洲午夜精品网| 亚洲欧美卡通另类91av| 亚洲欧美伊人| 久久精品国产久精国产爱| 欧美一区二区啪啪| 久久久久久久成人| 欧美jjzz| 国产精品成人观看视频国产奇米| 国产精品国产三级国产专区53 | 在线观看成人小视频| 亚洲国产精品久久人人爱蜜臀| 激情综合色丁香一区二区| 在线观看亚洲视频| 亚洲精品一区二区三区四区高清| 日韩午夜在线电影| 午夜精品在线观看| 久久亚洲影音av资源网| 欧美成人激情视频| 99在线|亚洲一区二区| 亚洲在线播放电影| 蜜臀a∨国产成人精品| 欧美日韩国产天堂| 国产婷婷色综合av蜜臀av| 亚洲国产欧美一区| 亚洲在线一区| 欧美电影免费观看网站| 99re在线精品| 欧美专区亚洲专区| 欧美精品久久久久久久免费观看| 国产精品福利av| 在线观看精品一区| 亚洲图片欧美午夜| 久久一区二区三区国产精品| 亚洲三级影院| 久久久精品国产免大香伊| 欧美日韩国产系列| 精品va天堂亚洲国产| 亚洲无限av看| 欧美jizzhd精品欧美巨大免费| 日韩午夜av电影| 六月天综合网| 国产酒店精品激情| 99re热这里只有精品免费视频| 欧美一级电影久久| 亚洲精品麻豆| 久久综合九九| 国产在线欧美| 午夜免费日韩视频| 99国产精品|