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


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