C++ 铿锵-符号(变量、函数、类型等)定义或声明或引用

C++ 铿锵-符号(变量、函数、类型等)定义或声明或引用,c++,code-analysis,clang,C++,Code Analysis,Clang,请有人知道clang是否可以选择返回符号定义或声明(或引用) 我的意思是:在=path_to_file:line:column处有一个名为-code completion的叮当可执行文件选项 叮当声将检查代码并返回完成字符串(例如,如果有) std::string\u type\u变量…它返回所有可以从std::string调用的方法和属性 现在我想要的是,对于clang,返回文件和坐标,符号的定义从这里开始。因此,如果它是std::string\u type\u变量,我想返回坐标,我在代码中写

请有人知道clang是否可以选择返回符号定义或声明(或引用)

我的意思是:在=path_to_file:line:column处有一个名为-code completion的叮当可执行文件选项 叮当声将检查代码并返回完成字符串(例如,如果有) std::string\u type\u变量…它返回所有可以从std::string调用的方法和属性

现在我想要的是,对于clang,返回文件和坐标,符号的定义从这里开始。因此,如果它是std::string\u type\u变量,我想返回坐标,我在代码中写入了std::string变量

我想在vim中使用它,而不是cscope/ctags过时的功能(在vim中使用ctags/cscope的标记系统不知道上下文-它在更大的项目中根本不可用) 我知道会有叮当声(http://blog.wuwon.id.au/2011/10/vim-plugin-for-navigating-c-with.html)但它不能正常工作(实际上对我根本不起作用)


这可能吗?如果它可以返回完成,它可能已经知道,从哪里读取变量的定义…

Clang通过libclang共享库提供了这样的功能,但有一个简单的示例说明如何使用它。如果您从源代码构建Clang,请查看c-index-test executable.它的源代码位于tools/c-index-test中。

为什么它必须是
clang
才能做到这一点?它不必是..你知道其他的东西吗?相当快吗?Vim现在有了一个插件,应该可以满足你的需求。thanx,我来看看它…虽然乍看起来它有些不起作用:)所以我一直在玩c-index-test,发现了很多功能。太多了,这正是我所需要的。:)