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的特殊擴充套件的資訊。指令以 結尾,它們可以影響一條語句 一塊語句...