藤原です。
This message is reply to Keiji Matsuzono - san
(Subject was : [H8-ML(2024)] Re: 右辺値のvolatile宣言(GCC で検証))
Message-ID: <20020628055735.2db64dcf.k-zono@xxxxxxxxxxxxxxxx>
in Fri, 28 Jun 2002 05:57:35 +0900 ...
> まつぞの@自宅から です
>
> 代入文の右辺にだけ現れる変数に volatile 指定をしても
> 最適化(コードが削除される)ことがありうる、ということだったので、
> GCC で試してみました。
>
> 結論を先にいうと、GCC だと最適化されないようです。H8 用と AVR 用で
> 試してみました。
あら、日立の純正(でも、1.0D)でもコードは削除されませんでした。
とりあえず、H8 とは無関係ですが(組込用はないですが) C++ Builder 4
だと、きれいさっぱり消されます。
?live1@0:
;
; int main(){
;
push ebp
mov ebp,esp
;
; int a;
;
; a = count;
; a = count;
; a = count;
;
; return 0;
;
@1:
xor eax,eax
;
; }
こんな感じ。
やっぱり、組み込みだとそれなりに気を遣うのですかね。
※ソースからは消えてますけど、確かに、volatile つけてます。
--
_/ -- Last 69 hours until 2002 World Cup final (27 Jun @615) ------
_/ FUJIHARA Keiichi
_/ E-Mail : keiichi@xxxxxxxxxxxxx <or> nagi@xxxxxxxxxxxxxxx
_/ URL : http://www.keiichi.fujihara.name/
--------------------------------------------+----- Luna Phase 17.45 --
PGP FingerPrint = 7CC3 4F95 8CC7 87D3 7178 C348 CD65 7F08 D68F 69F6