[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

ありがとうございました。

--
ふかうみ なおき