Jun Inoue
jun00****@hotpo*****
2005年 2月 11日 (金) 12:00:56 JST
井上です。 On Fri, 11 Feb 2005 08:47:48 +0900 YamaKen <yamak****@bp*****> wrote: > > 何が問題なのかいまいちわからないのですが、return() マクロ内で return() > > が使われてることでしたら、C99 6.10.3.4 に > > [#2] If the name of the macro being replaced is found during > > this scan of the replacement list (not including the rest of > > the source file's preprocessing tokens), it is not replaced. > > とあるので、大丈夫です。 > > そっちは問題だとは思ってませんので大丈夫です。 やっぱり。(^^; 明らかに置換するわけにいきませんしね。>再帰マクロ > 私が気にしてるのはreturn()マクロの有効範囲です。gcc -Eの結果から > するとlreadr()内のreturn()のみが置き換えられているようですが、伝 > 統的なプリプロセッサではブロックを無視してファイルの末尾まで置換 > が行われると理解していたので。uimではC99の機能は使わない事にして > います。 #undef を無視する処理系があるということですか。それは知りませんでした。 それなら確かにやめておいた方が無難ですね。 -- Jun Inoue jun0****@users*****