pragma命令詳解

2021-05-22 19:30:21 字數 1173 閱讀 7724

#pragma命令的作用: 是設定編譯器的狀態或者是指示編譯器完成一些特定的動作.

格式: #pragma 引數

1.#pragma message(「訊息文字」)  :在編譯資訊輸出視窗中輸出相應的資訊,這對於源**資訊的控制是非常重要的。

2.#pragma code_seg( ["section-name"[,"section-class"] ] )

: 設定程式中函式**存放的**段,當我們開發驅動程式的時候就會使用到它。

3.#pragma once  : 在標頭檔案的最開始加入這條指令,保證標頭檔案被編譯一次,這命令是編譯相關的,在這個系統上能用,在其他的系統上就不一定能用,移植性差;

4.#pragma hdrstop : 表示預編譯標頭檔案到此為止,後面的標頭檔案不進行預編譯。

5.#pragma resource "*.dfm"  : 表示把*.dfm檔案中的資源加入工程.

6.#pragma warning(disable:4507 34)  : 不顯示4507和34號警告資訊.

7.#pragma warning(once:4385) : 4385號警告資訊僅報告一次;

8.#pragma warning(error:164)  : 把164號警告資訊作為乙個錯誤。

9.#pragma warning( push ) : 儲存所有警告資訊的現有的警告狀態。

#pragma warning( push, n) : 儲存所有警告資訊的現有的警告狀態,並且把全域性警告等級設定為n。

10.#pragma warning( pop )  : 向棧中彈出最後乙個警告資訊.

11.pragma comment(...) :將乙個注釋記錄放入乙個物件檔案或可執行檔案中.如,新增鏈結庫:#pragma comment(lib, "master.lib")

12.啟用或終止該編譯程式支援的一些編譯功能:

#pragma loop_opt(on)   // 啟用

#pragma loop_opt(off)   // 終止

13.#pragma pack(n)  :從這開始對後面的結構成員進行對齊,既如果結構成員1的大小#pragma pack() : 就是取消#pragma pack(n)的功能;

14.#pragma auto_inline(off): 讓編譯器禁止函式內聯->只能多沒有使用inline關鍵字的函式起作用!

pragma預處理詳解

在所有的預處理指令中,pragma 指令可能是最複雜的了,它的作用是設定編譯器的狀態或者是指示編譯器完成一些特定的動作。pragma指令對每個編譯器給出了乙個方法,在保持與c和c 語言完全相容的情況下,給出主機或作業系統專有的特徵。依據定義,編譯指示是機器或作業系統專有的,且對於每個編譯器都是不同的...

pragma 預處理命令

在所有的預處理指令中,pragma 指令可能是最複雜的了,它的作用是設定編譯器的狀態或者是指示編譯器完成一些特定的動作。pragma 指令對每個編譯器給出了乙個方法 在保持與c和 c 語言完全相容的情況下 給出主機或作業系統專有的特徵。依據定義 編譯指示是機器或作業系統專有的 且對於每個編譯器都是不...

pragma預處理命令

pragma可以說是c 中最複雜的預處理指令了,下面是最常用的幾個 pragma指令 pragma comment lib,lib 表示鏈結 lib這個庫,和在工程設定裡寫上 lib的效果一樣。pragma comment linker,entry main function 表示指定鏈結器選項 e...