C言語なら俺に聞け
■ このスレッドは過去ログ倉庫に格納されています
0256デフォルトの名無しさん
2015/02/21(土) 20:13:12.79ID:TZOTJCBR厳密に解釈すれば>>253さんの言う通りなんだろうけど、普通は (r = v) の評価結果は v(=rのwrite値) になると思うよ。
そして x への代入時に 改めて評価結果を r の read値で上書きすることはまず行なわれない。
今まで組み込みプログラム開発を行なってきたけれど、
x = (r = v);
の記述で問題になったことは一度もない。
むしろ>>250のように r を volatile宣言した場合、再読み込みが行なわれる可能性があることに驚いている。
メモリ上に展開される変数はともかく、特殊レジスタそのものをvolatile宣言するという発想はなかったけれど
今後は注意が必要だな。
まあ特殊レジスタの設定周りは特に念入りに実機デバッグを
行なう部分だから問題ないとは思うが。
■ このスレッドは過去ログ倉庫に格納されています