hamayan です。 Shigeru> 「直してもらう」といっても、仕様が統一されていないんだから、 Shigeru> なおしようがないんじゃないでしょうか? Shigeru> bit fieldをMSBから振ろうと、LSBから振ろうと別に、 Shigeru> コンパイラの欠陥でも、バグでもないですよ。 Shigeru> Shigeru> 「コンパイラの問題をビットフィールドの是非に話をすり替え」 Shigeru> しているわけでなく、互換性、移植性を問題にしているのです。 Shigeru> Shigeru> ただ、それがもっとも顕著に表れるのが、たまたま、 Shigeru> bit field, struct, unionになってしまうだけです。 平田さんが言っているビット位置がずれている話ってのは LSB、MSBがひっくり返っているという話なのですか? そもそも、コンパイラメーカーからバージョンアップの時に 何が変更されているのか、聞かないのですか? でも書き順がひっくり返ったからと言って、メンバー名でア クセスする構造体で、具体的にどんな問題が有ったのでしょうか? ヘッダーを替えれば、互換性、移植性は維持されるのでは? Shigeru> > 逆に、HEXで書く方がミスし易いと思いますが。 Shigeru> HEXで書くわけじゃなくって、 Shigeru> というような、ヘッダーを作っておき、 Shigeru> SMR0 = (ASYNC | CHRLEN8 | NONEPRTY | STOPLEN1 | !MP | CLKDIV1); Shigeru> と書くんです。 Shigeru> これをbit fieldで書くのとどっちが分かりやすいでしょうか (^o^) 勿論この方法も使いますよ、表現の手段は幾つも有った方が良い。 所で、バスにWAITを挿入する時、15位まで挿入できたとしたら、 WAIT1からWAIT15までdefineマクロを用意するのでしょうか? 上の例で、キャラクタ長だけ変更したい時も、全部書かなけりゃいけない のですか? SMR0 = (ASYNC | CHRLEN7 | NONEPRTY | STOPLEN1 | !MP | CLKDIV1); ------------------------------------------------------------ )^o^()^o^()^o^()^o^()^o^()^o^()^o^()^o^()^o^()^o^()^o^()^o^( ☆☆☆☆☆☆☆☆☆☆☆☆designed by hamayan☆☆☆☆☆☆☆☆☆ from はまやん アドレスは hamayan@xxxxxxxxxxxxxxxx URL http://www003.upp.so-net.ne.jp/hamayan/ The Embeded Protocol Engine Navajoデモ中!続々新機能追加中!! http://hamayan.ddo.jp:8080/ ★★★★★★★★★end of message and thank you★★★★★★★