次のエントリ: (C++)メンバ関数のポインタでエラー [c]
構造体のパディングをつめる
2005-12-08-1 / カテゴリ: [programming][c] / [permlink]
「pack プラグマ」を使う
[2005-12-04-1]の続き
テストコード書いてみたが、エンディアン関係??でサクっとは base64 変換できねぇ...(@Intel pentium M)
[2005-12-04-1]の続き
struct fromdata {
unsigned char first;
unsigned char second;
unsigned char third;
};
#pragma pack(push, 1)
struct todata {
unsigned first: 6;
unsigned second: 6;
unsigned third: 6;
unsigned forth: 6;
};
#pragma pack(pop)
(以下略)
これで結果がfrom: 3 to: 3になった。
#pragma pack(n)これで、それ以降の構造体・共用体のパディングに適用される
#pragma pack(push, n) #pragma pack(pop)(push,n)で、以降の構造体・共用体のパディングを n を基準にし、(pop)で元にもどす
テストコード書いてみたが、エンディアン関係??でサクっとは base64 変換できねぇ...(@Intel pentium M)
[
コメント ]
次のエントリ: (C++)メンバ関数のポインタでエラー [c]
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
最終更新時間: 2013-05-02 16:12
