From: ARIMA Yasuhiro Date: 1999-05-24T10:08:08+09:00 Subject: [ruby-dev:6957] #include "ruby.h" 有馬です。 ruby のコンパイル作業中に躓いたので、C のレベルで質問させてください。 node.c では、以下のような順序でヘッダを取り込んでいます。 #include "ruby.h" #include "node.h" この node.h では、先に ruby.h が include されていることを前提にしています。 おそらくこの順序である限り、node.c がコンパイル可能だと思ってました。 ところが、WATCOM C 11.0 君は、node.h の処理中に、「VALUE が定義されていない」 「ID が定義されていない」と文句をつけます。 よもやと思って、#include "ruby.h" を node.h の中に書いたところ、あっさり node.c がコンパイルできました。どうやら、ヘッダファイルを単独で解釈しようと するようです。 この処理系の実装に問題があるのは確かなのですが、考え方がそれほどまちがって いるわけでもないと思います。 例えば、FILE * を参照するヘッダファイルでは、 #include があるのは 普通ですよね。とすると、この場合も node.h の中でも ruby.h を include するのが 適切なのではないかという質問です。 # こんなところで躓いているのでなかなか先に進めない... ところで、mingw32 という cygwin32 を改造した規格があるようですが、 使っている方はいらっしゃいませんか? -- 有馬 康弘