我正在使用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 解析函数的问题?