顯示廣告
隱藏 ✕
看板 Knuckles
作者 Knuckles(阿德)
標題 [程式]結構成員對齊
時間 2007年10月26日 Fri. AM 03:25:19


蕙君說她覺得每次要用那個CImage都要設一次專案屬性
調整那個結構成員對齊很麻煩
我本來認為這是沒有辦法的事情
但想一想好像的確應該能在程式裡控制這個才對
就Google了一下沒想到真的找到了...
内存对齐问题

原來只要在宣告struct的地方
前後用#pragma pack(1)與#pragma pack()包起來
就可以只使這個struct以1byte為單位對齊
而不會影響到其他struct了

所以,請大家來手動更新一下CImage.h這個檔
把中間有用到的三個struct,像下面這樣把他包起來:

#pragma pack(1)

struct BITMAPFILEHEADER { ... };
struct BITMAPINFOHEADER { ... };
struct RGBQUAD {...};

#pragma pack()

以後用這個CImage時就不用設定屬性的結構成員對齊了
--
※ 來源: 台大電信 DISP 實驗室 (http://disp.twbbs.org)
※ 作者: Knuckles  來自: 140.112.175.130  時間: 2007-10-26 03:25:19
※ 編輯: Knuckles 時間: 2014-05-13 04:12:02
※ 看板: KnucklesNote 文章推薦值: 0 目前人氣: 0 累積人氣: 483 
※ 文章分類: 程式設計 C/C++
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇
看板名稱: 確定(Enter) 取消(Esc) 搜尋(Space)
查詢帳號: 確定(Enter) 取消(Esc) 搜尋(Space)
搜尋: m)m文 b)進板 c)未分類 a)作者 /)標題 q)取消?[q]

搜尋 送出(Enter) 取消(Esc)

回覆文章至: f)看板 m)作者信箱 b)兩者皆是 q)取消?[f]
要引用原文嗎? y)引用原文 n)不引用 a)全部回覆 r)複製原文 q)取消?[y]
轉錄本文章於看板: 1)使用連結 2)使用複製 q)取消 ?[1]
轉寄至站內信箱於使用者: 確定(Enter) 取消(Esc)
轉寄至站內信箱於使用者: 確定(Enter) 取消(Esc)
修改文章標題為: 確定(Enter) 取消(Esc)
修改文章標題為: 確定(Enter) 取消(Esc) 全部(a)

確定要刪除這篇文章?(可按大U救回) 確定(Enter) 取消(Esc)

刪除理由:

確定(Enter) 取消(Esc)
加到這個分類: 確定(Enter) 下一層(→) 回上層(←) 取消(Esc)
你覺得這篇文章: 1)真讚 2)真瞎 q)取消?[1] (再選一次即可收回)
你覺得這篇文章: 1)值得推薦 2)表示反對 3)單純註解 q)取消?[3]
guest
預覽(Enter) 取消(Esc)
上傳圖片
按ctrl+Enter可輸入下一行。
guest
確定要送出? 確定(Enter) 取消(Esc) 繼續(e)
搜尋: 送出(Enter) 取消(Esc)

▏▎▍▌▋▊▉ 請按任意鍵繼續