[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: wi.c::DELAY() vs MIPS port
深海です。
At Sat, 28 Sep 2002 08:34:03 +0900,
Yuusei KUWANA wrote:
> > #define DELAY(n) { register int N = cpuspeed * (n); while (--N > 0); }
>
> マクロ定義の落とし穴にはまったって感じだと思います。
> こういう場合、DELAY()を使っている方を直すのではなく、
> DELAY()自体を直す方が良いと思うんですが…。
そうですね。
> gcc限定で有れば、
> #define DELAY(n) ({ register int N = cpuspeed * (n); while (--N > 0); })
> で、通ると思います。多分(^^;;
>
> C的に考えると
> #define DELAY(n) delay(n)
> inline static void delay(n){ register int N = cpuspeed * (n); while (--N > 0); }
> 辺りが適当じゃないかと思いますが…
thorpej 氏が
> DELAY() on the MIPS ports should be changed to be function-like.
と返事をして来たのですが、後者かな ?
いちおう両方の書き方を thorpej 氏に伝えておきます m(__)m
ありがとうございました。
--
ふかうみ なおき