早就想開博客了,可是一拖再拖,也許是覺得沒有什么東西值得寫,但是在我印象中,好像有很多次這樣的機(jī)會我都錯(cuò)過了,今天在公司寫一個(gè)Layout文件的可視化生成工具,學(xué)到了一點(diǎn)早該知道的東西,索性開了這個(gè)博客,今后也會一直的寫下去!
1.頭文件到底起什么作用?
編譯器只編譯源文件(cpp),頭文件是不參與編譯的,編譯器編譯源文件,首先展開它所include的文件所包含的代碼,然后從上到下的開始編譯
2.#pragma once的使用
.#pragma once放到頭文件的開頭,這樣某個(gè)include了此頭文件的cpp文件,在編譯器編譯它時(shí),就只會展開一次這個(gè)頭文件的內(nèi)容,起到防止重復(fù)包含的作用。
這個(gè)怎么完成的呢,其實(shí)就是使用了宏定義,如下:
#ifndef A_H_H_H
#define A_H_H_H
class A


{
};
#endif
在這里有一點(diǎn)需要注意,所有標(biāo)識符的定義情況只是針對本次的cpp編譯來說的,也就是說每個(gè)cpp在編譯
的開始,這些標(biāo)識符都是沒有定義的
3.預(yù)編譯的使用
VC中可以設(shè)置文件的預(yù)編譯標(biāo)志,這樣其它c(diǎn)pp文件include了這個(gè)文件時(shí),就不需要重新編譯里面的內(nèi)容,這樣可以節(jié)省編譯時(shí)間,對于include頻繁的頭文件,就可以在它的cpp文件的屬性中設(shè)置Create precompile header標(biāo)志(別忘了真正編譯的就時(shí)它的cpp文件),而在工程的屬性中設(shè)置Use precompile header標(biāo)志,這樣其它include了這個(gè)文件的cpp文件就會按 預(yù)編譯 的方式使用它了,另外StdAfx.cpp一般都應(yīng)該設(shè)置成Create precompile header標(biāo)志
好了,今天就收獲了這么多!既然開了這個(gè)Blog,以后我就會接著寫下去的
posted on 2008-07-16 22:22
Virgin_Relax 閱讀(211)
評論(1) 編輯 收藏 引用