[問題] struct padding alignment

看板C_and_CPP作者 (小佑)時間12年前 (2013/11/21 22:32), 編輯推噓4(404)
留言8則, 5人參與, 最新討論串1/1
struct card2 { char m; short n; int o; }; 請問為什麼char跟short有padding 我知道有個別型別的alignmemt 和struct的alignment 是因為struct的alignment? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.61.209.67

11/21 22:39, , 1F
因為個別型別的 alignment, 這前面某篇有討論過
11/21 22:39, 1F

11/21 22:42, , 2F
我收尋不到 麻煩大大關鍵字= =
11/21 22:42, 2F

11/21 22:45, , 3F
sizeof
11/21 22:45, 3F

11/22 02:29, , 4F
因為 char 是1byte short是2byte 所以要對齊 加速存取
11/22 02:29, 4F

11/22 07:29, , 5F
不過其實加一行#pragma pack(1)就可以以1個byte為單位了
11/22 07:29, 5F

11/22 16:10, , 6F
F大的提示 那篇文內就有說 不強制aligment的方法
11/22 16:10, 6F

11/22 16:11, , 7F
的確是用pragma 但文中也提到 這樣會有相容性的問題XD
11/22 16:11, 7F

11/22 20:51, , 8F
11/22 20:51, 8F
文章代碼(AID): #1IZXbhwQ (C_and_CPP)