我正在使用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()调用的函数都不会显示为由任何函数调用,因为doSomethingAwesome()尚未被cscope识别为函数。
我做错了吗?或者这是cscope解析函数时的问题吗?