<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                通過上一篇文章[帶你玩轉Visual Studio——帶你多工程開發](http://blog.csdn.net/luoweifu/article/details/48915347)的講解,我們能夠在一個Solution中創建多個Project,統一管理一個項目的多個Project。本篇文章我們將繼續講解微軟的預編譯頭技術。 # 不陌生的stdafx.h 還記得[帶你玩轉Visual Studio——帶你新建一個工程](http://blog.csdn.net/luoweifu/article/details/48692267)一文中的圖2(為方便閱讀,已拷貝到下圖 1)嗎?我們默認勾選了Precompiled header復選框,創建的工程中就自動添加了stdafx.h和stdafx.cpp,**stdafx.h就是預編譯頭文件**,勾選Precompiled header就表明采用了微軟的預編譯頭技術。? ![](https://box.kancloud.cn/2016-01-19_569dd0375d08b.jpg)? 圖 1:Application Settings ## 打開或關閉預編譯方式 右鍵工程名->Properties->Configuration Properties->C/C++->Precompiled Header,Precompiled Header下拉列表框選擇Use(/Yu)表示**打開**(使用)預編譯頭的方式,選擇Not Using Precompiled Headers表示**關閉**預編譯頭的編譯方式。? ![](https://box.kancloud.cn/2016-01-19_569dd03b7f1fa.jpg)? 圖 2:預編譯頭的設置 參數說明:? Precompiled Header:是否采用預編譯頭的方式;? Precompiled Header File:預編譯頭文件的名稱,VS中文件名的大小寫不敏感,但最好保持大小寫相同。? Precompiled Header Output File:生成的.pch文件我名稱,關于.pch文件將再在下面**預編譯原理**小節中講述。 如果是要使用預編譯頭文件的方式,還需要設置stdafx.cpp文件的屬性。右鍵stdafx.cpp->Properties->Configuration Properties->C/C++->Precompiled Header,Precompiled Header下拉列表框中選擇Create(Yc).? ![](https://box.kancloud.cn/2016-01-19_569dd03b974b9.jpg)? 圖 3:設置.cpp的屬性 ## 注意事項 **每一個源文件的第一行代碼必須包含預編譯頭文件。**如果你的工程選用了預編譯頭文件的方式,每一個.cpp文件的第一行代碼必須包含預編譯頭文件(#include “stdafx.h”),否則會編譯出錯。 # 預編譯技術的內存原理 在Windows程序開發時,經常要在各個文件中包含windows.h、afx.h等標準頭文件,而這些文件非常的大,在編譯時就非常的慢,非常耗時。為解決這個問題,已是就有了預編譯頭文件的技術。 所謂頭文件預編譯技術,就是把一個工程(Project)中常用的一些頭文件(如標準頭文件Windows.h、Afxwin.h等,也可以是自己定義的頭文件)包含在stdafx.h中,并對stdafx.h預先編譯(在所有的.cpp文件編譯之前進行編譯),得到編譯結果.pch文件(默認名稱為ProjectName.pch),后期該工程在編譯其它.cpp文件時不再編譯stdafx.h中的內容(即使include了它),僅僅使用預編譯的結果。? 其中stdafx.h叫做**預編譯頭文件**,stdafx名稱的英文全稱為:Standard Application Framework Extensions,當然你也可以自己定義預編譯頭文件的名稱,手動重命名stdafx.h,同時將上面圖2和圖3中對應的名稱也得改過來。ProjectName.pch叫做**預編譯頭**。 采用預編譯頭技術后,可以加快編譯速度,節省編譯時間。因為只需要預先編譯一次就可以在所有的.cpp編譯時使用,不用再次編譯。這樣帶來的一個問題就是**每一個.cpp文件的開頭都要包含預編譯頭文件#include “stdafx.h”。**因為預編譯頭技術是假定預編譯頭中的內容會在所有.cpp文件中使用,在編譯你的 .cpp 的時候,就會將預編譯頭中已經編譯完的部分加載到內存中。 使用預編譯頭文件需要注意的幾個要點:? 1\. 你編寫的任何.cpp文件都必須首先包含stdafx.h。? 2\. 如果你有工程文件里的大多數.cpp文件需要的.h文件,順便將它們加在stdafx.h(后部)上,然后預編譯stdafx.cpp。? 3\. 由于.pch文件具有大量的符號信息,它是你的工程文件里最大的文件。 # 如何在非MFC工程中使用MFC庫 這部分內容之前寫過,就不再贅述,直接給出鏈接:? [非MFC工程中使用MFC庫](http://blog.csdn.net/luoweifu/article/details/41527069) 上一篇回顧:? [帶你玩轉Visual Studio——帶你多工程開發](http://blog.csdn.net/luoweifu/article/details/48915347) 下一篇要講述的內容:? 帶你玩轉Visual Studio——帶你跳出Runtime Library大坑
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看