c++ - 使用gcc时,在头文件中查找定义的好方法是什么?

在使用gcc时,是否有人推荐在头文件中查找定义的方法?
使用msvc时,我可以右键单击并选择“转到定义”,这真的很好。
我使用了netbeans+gcc,它确实有代码帮助,包括到定义的超链接,所以这是一个选项。但是,我想知道是否还有其他的ide具有这种功能,并且在不使用ide时也是最好的方法。


最佳答案:

您可以运行Doxygen来生成基于html的源浏览器。这并不要求用doxygen样式的文档对代码进行注释。它适用于多种语言,包括C++、Java和标记(.md文件转到相关页)。
下面是一种从命令行配置和启动doxygen的方法(在linux上测试过)。

## basic
echo -e "SOURCE_BROWSER=YES\n EXTRACT_ALL=YES\n RECURSIVE=YES\n" |doxygen -
xdg-open html/index.html


## include diagrams and non-public content -- and launch browser immediately
echo -e "HAVE_DOT=YES\n CALL_GRAPH=YES\n CALLER_GRAPH=YES\n SOURCE_BROWSER=YES\n EXTRACT_ALL=YES\n EXTRACT_PRIVATE=YES\n EXTRACT_STATIC=YES\n RECURSIVE=YES\n SEPARATE_MEMBER_PAGES=YES\n GENERATE_LATEX=NO\n EXCLUDE_SYMLINKS=YES" |doxygen - && chromium-browser --new-window html/index.html

有一个名为doxywizard的配套程序,允许您浏览可用于自定义生成的html的许多配置选项。或者,可以运行doxygen -g来创建初始配置文件(包括详细提示)。
我建议使用以下非默认选项生成源浏览器:
SOURCE_BROWSER=YES ## display source code
EXTRACT_ALL=YES ## display all items (not just "documented" ones)
RECURSIVE=YES ## include source found in subdirectories
SEPARATE_MEMBER_PAGES=YES ## optional -- each class member has its own page

打开主网页后,可以浏览到感兴趣的源(或使用搜索功能)。该源与相关声明的可点击链接交叉引用。
我遇到过几次这个问题:doxygen可以创建很长的文件名,而linux加密的主目录有一个limit of 143 characters。要解决这个问题,您可能需要在家外编写html文件夹。
一个快速而肮脏的解决方案是将html链接到/tmp/dev/shm中的一个文件夹--也许还可以使用权限来提高数据安全性。

译文:来源   文章分类: c++ windows code-assist

相关文章:

c++ - 如何通过C ++代码使主板蜂鸣? [关闭]

c++ - 无法删除ListView中的最后一列?

c++ - 如何在C ++代码中使用cppcheck的内联抑制过滤器选项?

c++ - Qt OpenGL更新速度极慢

c# - 托管代码是否可以像未执行的代码一样快速地执行计算?

c++ - const char *用C ++加倍翻译问题

c++ - C ++ std :: find lambda表达式

c++ - 如何使用<random>填充std :: array

c++ - v8 :: ScriptCompiler :: Source对象-可以将其保留或稍后检索吗?

c++ - 如何使用std :: unordered_map :: insert_or_assign