#pragma的使用

#pragma指令是所有預處理指令中最複雜的,它用於設定編譯器的狀態或者指示編譯器完成一些特定的動作。根據定義,編譯指示適合具體的機器和操作系統相關的,且對於每個編譯器可能都不相同。

一般格式:
#pragma para
//其中para爲參數,對於不同的編譯器可能不一樣
常用參數:
1)message
message參數能夠在編譯信息輸出窗口中輸出相應的信息,這對於源代碼信息的控制是非常重要的。其使用方法爲:
#pragma message("消息文本")
當編譯器遇到這條指令時就在編譯器輸出窗口中將消息文本打印出來。如果在程序中定義了許多宏來控制源代碼版本時,可以通過此語句來輸出相應的提示信息。
例如:
#ifdef _X86
#pragma message("_X86 macro activated!")
#endif
當定義了_X86這個宏以後,編譯源代碼時就會在編譯輸出窗口提示“_X86 macro activated!"。
2)code_seg
格式如下:
#pragma code_seg(["section-name",[,"section-class"]])
它用於設置程序中函數代碼存放的代碼段,當開發驅動程序時就會使用它
3)once
在頭文件的開頭處加入此指令可以保證頭文件只被編譯一次。但是此指令是與編譯器有關的,就是說在有些編譯系統上能用,而在其它編譯系統上可能不能用,因此這條指令的移植性較差。爲了保證移植性,最好使用#ifndef, #define, #endif來避免頭文件的多次編譯。
4)resource

5)warning
格式如下:
#pragma warning(warning-specifier:warning-number-list[;warning-specifier:warning-number-list...])
#pragma warning(push[,n])
#pragma warning(pop)

#pragma warning(disable:
6)comment

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章