日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

預(yù)編譯頭文件

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

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

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

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多