yusuk****@cheru*****
yusuk****@cheru*****
2005年 3月 23日 (水) 21:49:45 JST
田畑です。 > anthyをCodeReadingしていて気づいたのですが、include/wtype.hで定義されている > struct wtype(wtype_t)のpad エントリが使われていないようなので報告しておきま > す。 「pad」というのはpaddingで、もともとwtype_tを8byteにするためのもの だったので、この点については問題無いです。 > /** 品詞 **/ > struct wtype{ > - unsigned short pad; > unsigned char type[6]; > }; > この構造体については結構メモリを余分に使用しているので、以下の様に変 > 更しては如何でしょうか? メモリ中にそれほど数があるわけではないので、(多くても数千個、他にもっと 大食いなものもあります。)それほど問題にはしていなかったのですが、 気にする人が多いようなので、直しておきます。 構造体のbitfieldの移植性が心配だったのですが、調べてみたところ、 emacsやgccでも使っているようなので、安心して使えると判断しました。 > > #define POS_BITS 4 > #define COS_BITS 3 > #define SCOS_BITS 5 > #define CC_BITS 5 > #define CT_BITS 4 > #define WF_BITS 3 > > struct wtype { > unsigned int pos : POS_BITS; > unsigned int cos : COS_BITS; > unsigned int scos : SCOS_BITS; > unsigned int cc : CC_BITS; > unsigned int ct : CT_BITS; > unsigned int wf : WF_BIts; > };