編譯指示 #pragma 是用來告知編譯器某些特殊指示,例如不要輸出錯誤訊息,抑制警告訊息,或者加上記憶體漏洞檢查機制等。這些指示通常不是標準的 C 語言所具備的,而是各家編譯器廠商或開發者所制定的,以便讓編譯器可以具有某些特殊的選項。
舉例而言,#pragma STDC 就可以用來要求編譯器採用標準 C 的語法進行編譯,只要看到有任何不符合標準 C 的語法,編譯器就會輸出錯誤。
#Pragma message
#Pragma warning
#Pragma once
Pragma code_seg
#Pragma code_seg(["section-name"][,"section-class"])
#pragma hdrstop
#pragma startup
#pragma startup <func> <priority>
#pragma exit <func> <priority>
執行結果
#pragma package(…)
#pragma resource "…"
#pragma loop_opt(…)
每個編譯程式可以用#pragma指令激活或終止該編譯程式支援的一些編譯功能。例如,對迴圈優化功能:
#pragma asm
#pragma small
#pragma registerbank(..)
#pragma code
參考文獻
- pragma 預處理指令 — http://topalan.pixnet.net/blog/post/22334686