c 語言中的pragma使用

2021-06-22 03:16:41 字數 429 閱讀 6777

pragma 常用於網路程式設計中自定義協議,指定結構體成員的位元組對齊,當沒有指定pragma時,程式會按照結構體中最長的變數進行位元組的對齊

而使用pragma後,程式會先判斷 pragma 定義的大小與結構體中最長變數的大小 ,取二者較小的進行位元組對齊。

struct foo

char c1;

short s;

char c2;

int i;

long j;

sizeof foo 的大小 為24

#pragma pack(4)

struct foo

char c1;

short s;

char c2;

int i;

long j;

} sizeof foo 的大小 為20

#pragma pack()

C語言中 pragma用法 彙總

前一段時間寫函式中斷時,經常要加上 pragma語句,否則,編譯就會出錯。有飛思卡爾的16位微控制器寫過中斷函式的人,就會知道在中斷函式前必須加上 pragma code seg near seg non banked 函式結束的時候最好加上 pragma code seg default 這個也可...

C語言中 pragma的常用引數

pragma是預處理指令,它的作用是設定編譯器的狀態或者指示編譯器完成一些特定的動作,對每個編譯器給出的方法都是不同,不太具有移植性。一般格式為 pragma para 1.message引數 pragma message 文字訊息 遇到這個訊息的時候,編譯器在編譯的時候就會列印出這條訊息 這個指令...

D語言中的編譯器指令(Pragma)

pragma pragma 標誌符 pragma 標誌符,表示式列表 pragma pragma identifier pragma identifier,expressionlist 編譯器指令用來給編譯器傳遞如何使用產品提供商對d的特殊擴充套件的資訊。指令以 結尾,它們可以影響一條語句 一塊語句...