小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

預(yù)編譯頭文件

 verychen 2010-12-08
預(yù)編譯頭文件 收藏
http://www./blog/?p=34

一直用預(yù)編譯頭文件,但沒有作深入的了解,發(fā)現(xiàn)同事那發(fā)生編譯時出現(xiàn)找不到$(IntDir)\$(TargetName).pch文件時,讓他把工程的 預(yù)編譯頭選項中的 "使用預(yù)編譯頭(/Yu)" 修改為 "創(chuàng)建預(yù)編譯頭(/Yc)",又發(fā)現(xiàn)Debug編譯成功,Release編譯失敗的問題,請教博強后問題解決。發(fā)現(xiàn)自己一直對預(yù)編譯頭文件不了解,摘抄一些東西補課。
何時需要預(yù)編譯源代碼
預(yù)編譯代碼有助于在開發(fā)周期中縮短編譯時間,特別是在以下情況中:
總是使用不經(jīng)常改動的大型代碼體。
程序由多個模塊組成,所有模塊都使用一組標準的包含文件和相同的編譯選項。在這種情況下,可以將所有包含文件預(yù)編譯為一個預(yù)編譯頭。
用于創(chuàng)建預(yù)編譯頭文件的第一次編譯所花費的時間比后面的編譯稍長一些。通過包含預(yù)編譯代碼可以加快后面的編譯速度。
C 和 C++ 程序都可以預(yù)編譯。在 C++ 編程中,常見的做法是將類接口信息分別放到不同的頭文件中。此后就可以將這些頭文件包含在使用該類的程序中。通過預(yù)編譯這些頭文件,可以縮短程序的編譯時間。
兩種預(yù)編譯代碼方法
使用 Visual C++ 可以預(yù)編譯任何 C 或 C++ 代碼;并不僅限于預(yù)編譯頭文件。
預(yù)編譯要求先進行規(guī)劃,但如果預(yù)編譯的是除簡單的頭文件之外的源代碼,則將大幅度提高編譯速度。
如果知道源文件使用一組通用的頭文件但包含順序不同,或者希望將源代碼包含在預(yù)編譯中,則需預(yù)編譯代碼。
如果使用預(yù)編頭文件,一定要有一個文件設(shè)置為"創(chuàng)建預(yù)編譯頭(/Yc)",通常這個文件是stdafx.cpp,其他cpp文件設(shè)置為"使用預(yù)編譯頭(/Yu)" ,如果工程中沒有文件一個文件設(shè)為"創(chuàng)建預(yù)編譯頭(/Yc)"而工程設(shè)置為"使用預(yù)編譯頭(/Yu)" 則會出現(xiàn)找不到$(IntDir)\$(TargetName).pch文件的問題,如果把每個源文件都設(shè)為"創(chuàng)建預(yù)編譯頭(/Yc)"),則會出現(xiàn)Debug編譯成功,Release編譯失敗,提示"找到一個或多個多重定義的符號" 的問題。
預(yù)編譯頭一定要放在源文件的開頭,否則就會出現(xiàn)編譯錯誤,個人認為原因是擔心其他的頭文件或者宏定義會造成預(yù)編頭內(nèi)容的不同。
博強給的一些建議:預(yù)編譯頭中包含的頭文件是不經(jīng)常改動的頭文件,所以一般是標準頭文件,也就是用#include <…>括起來的內(nèi)容。在預(yù)編譯頭中一般不要寫上using namespace …;這樣對于不同命名空間中重名類的使用會帶來問題。
本文來自CSDN博客,轉(zhuǎn)載請標明出處:http://blog.csdn.net/beingstudio/archive/2010/04/10/5471424.aspx

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多