[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: wi.c::DELAY() vs MIPS port



ども、ごぶさたしています。
桑名です。

# ちょっと自設webメールで返信して直メールになってすみません>深海さん

On Fri, Sep 27, 2002 at 05:54:06PM +0900,
 FUKAUMI Naoki 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); }
辺りが適当じゃないかと思いますが…

gccじゃないと通らないコードが他にあるかどうかそう言う目で
ソース見たことが無いので解らないんですが、どうなんでしょう?

# sigmarionIIが欲しいと思う今日この頃…

-- 
 ,,     
'●',,  Yuusei KUWANA / mailto:penta@pos.to
   '●'   http://penta.pos.to/