藤原です。 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