linux-c編程-編譯預處理(#pragma預處理分析)

簡介

#pragma是編譯器指示字,用於指示編譯器完成一些特定的動做。#pragma所定義的不少關鍵字是編譯器和操做系統特有的,而且在不一樣的編譯器間不可移植。但對於不能識別的#pragma命令預處理器將忽略。ui

通常用法:操作系統

#pragama parameter

不一樣的parameter參數語法和意義不一樣。版本控制

1. #pragma message

message 參數在大多數的編譯器上都有類似的實現,用於在編譯時輸出消息到編譯輸出窗口中,能夠用於提示編譯版本,用於版本控制。code

注意:message是VC的特有的編譯器指示字,GCC將其忽略。內存

2. #pragma pack

pack 參數來指定編譯器使用內存對齊的規則,能夠修改編譯器默認的對齊規則。si四字節對齊命令以下:編譯器

#pragma pack(4)

注意:GCC忽略此命令。編譯

因結構體變量須要進行字節對齊,裏面還有未知的「坑」內存(pad),因此不能直接使用memcmp進行判斷。class

email: MingruiZhou@outlook.comemail

相關文章
相關標籤/搜索