1

cscopeを使用して、C++ ソース コードのインデックスを作成しています。ほとんどの場合、うまく機能しますが、スコープが設定されたパラメーター型 (「::」を使用) を持つ関数名を解析するときに問題があります。例えば:

void SomeClass::doSomethingAwesome( const std::string& input )
{
}

cscope インターフェイスを使用して「この C シンボルを検索:」すると、次のようになります。

  File              Function      Line
0 doSomethingAwesome <global>  1 void SomeClass::doSomethingAwesome( const std::string& input )

重要なのはグローバルタグです。「doSomethingAwesome」である必要があります。

スコープ付きパラメーターのない別の関数の場合

void SomeClass::doSomethingElse( int input )

私はこれを得る:

  File              Function      Line
0 doSomethingElse doSomethingElse  1 void SomeClass::doSomethingElse( int input )

Function フィールドが関数名と一致することに注意してください。この関数を呼び出す他の関数を cscope で正常に検索できるようになりました。doSomethingAwesome() ではそれができませんでした。さらに、doSomethingAwesome() が cscope によって関数として認識されないため、doSomethingAwesome()からのみ呼び出される関数は、どの関数からも呼び出されたものとして表示されません。

私は何か間違ったことをしていますか?それとも、cscope による関数の解析の問題ですか?

4

0 に答える 0