編譯指示 #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

參考文獻

    1. pragma 預處理指令 — http://topalan.pixnet.net/blog/post/22334686
05-11 17:35