[H8-ML(1996)] Re: SHC V7 で酷い目に
From: "Shouji Hirata" <shouji@xxxxxxxxxxxxx>
Date: 2002年06月25日(火)17時56分28秒
こんにちは。平田@マイクロフトです

オプティマイズされないようにvolatile指定すれば?と書こうと思ったらすでにかか
れていたので、H8用の某社のCコンパイラの話題

あるハードで、ポートをリードすると処理が完了するようなポートがあったので、

volatile char *port = (char *)0xxxxxx;
char dummy;

 *port;   //  *1
 dummy = *port;

こんなコードを書いたら *1が丸々削除されていました。portをvolatileしていたの
でオプティマイズされないつもりだったのですが、オプティマイズオプションをoff
にしてもコードが実行されません。

 メーカーに問い合わせたところ代入されていない読み込みはコード化されない仕様
だそうで(まぁ理屈は納得できるけど・・・(^_^;)
別の変数を用意して代入式にしたら読み込んでくれました。

 ハードをアクセスするためのコードを書いていると結構オプティマイザの裏をかく
ことが多いようで...

================================
平田祥司(shouji@xxxxxxxxxxxxx)

株式会社マイクロフト(www.microft.co.jp)
神奈川県横浜市青葉区あかね台2-11-29
================================


スレッド概略
[1992(R)](起点)
 └[1994(U)]
   └[表示中]
     └[2008(1)]


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]