2016-11-02 4 views
0

私は、WebプロキシPolipoに、以下の機能following line内のURL要求をログに記録するには、この必要性の一部としてログを追加しようとしています:私はAtomPtrはタイプ_Atomの構造体であることがわかり、コンパイルからCの構造体がどこで宣言されているか調べるには?

httpClientRequest(HTTPRequestPtr request, AtomPtr url) 

が、私は、これが定義されている場所を見つけることができないので、ログ・ステートメントのurlのテキストを参照できます。 Cコードで構造体定義を参照する正規の方法は何ですか?

+0

を定義している場合あなたは.hファイルを検索する必要が見ることができますs。このような状況では、grepツールが便利です。多くのIDEがこの機能を提供しています。 –

+1

あなたのシステムと環境によって異なります。 IDEを使用している場合は、通常、定義を組み込む機能があります。コマンドラインを使用している場合は、ファイルセット内のテキストを見つけるためのコマンドがあります(コマンドの名前は使用するオペレーティングシステムによって異なります)。 –

+2

'-D_Atom = 123'でコンパイルして、最初のエラーがどこにあるか確認してください –

答えて

2

あなたはthisようAtomPtrを検索し、AtomPtrが

typedef struct _Atom { 
    unsigned int refcount; 
    struct _Atom *next; 
    unsigned short length; 
    char string[1]; 
} AtomRec, *AtomPtr; 
0

Linuxで作業している場合は、構造体キーワードをgrepして、ファイル内の定義を確認してください。

1

あなたがLinux上で作業している場合は残念ながら、私の知る限り、あなたはC.
でソースコードからこのを行うことができない、とあなたのソースは、すべてのsrc/ディレクトリにある場合:

$ find src/ -name ".*\.h" | xargs grep -e "struct _Atom" 
関連する問題