2011-11-23 15 views
2

私はかなり(非常に)C++/linuxの新機能で、glibcのvfprintf機能を見ています。これにはREF(...)の多くの使用法が含まれていますが、これはマクロであると仮定していますが、どこでもその定義を見つけることはできません。私は、ファイル自体と、すべてのインクルードファイルを検索しました。glibc vfprintf.cで 'REF'とは何ですか?

マクロですか?もしそうなら、その定義はどこですか?また、インクルードされたすべてのファイルを1つずつ検索するよりも、マクロの定義を見つける良い方法がありますか? stdio-common/vfprintf.c

+1

'gcc'は適切なパラメータで中間処理結果を出力できます。私はいつも 'g ++ -E -dD sourcefile.cpp'を使います。どこで識別子が宣言されているか、各マクロがどこでどのように定義されているかを知りたいときに使います。これにより、すべてのマクロ定義で前処理結果が得られます。しかし、 '#if'で無視されるコードは表示されません。前処理に影響する他のパラメータは、 '-I'のようなコンパイルコマンドと同様に追加して、正しい結果を生成する必要があります。 'man gcc'はもっと情報を与えます。 – fefe

+0

@fefe、答えがあったはずです、それは+1の価値があります:) – sarnold

答えて

4

#ifdef SHARED 
# define REF(Name) &&do_##Name - &&do_form_unknown 
#else 
# define REF(Name) &&do_##Name 
#endif 

私はctags(1)経由でそれを見つけました。 ctags -R . ; vim -t REF

+0

優秀! 3つの質問にすべて答えます:-) –

+0

ヒープありがとう、私は "#define REF" –

関連する問題