当我包含一个头文件时,我常常想知道是什么内容。
文档并不总是回答这些问题,也不提供任何保证。
我可以查看源代码,但是对于包含其他标头树的大型头文件也很难观察到。 有什么好的程序可以做这种分析吗?
使用像doxygen这样的工具。您将它的库提供给它,并输出交叉引用的文档。
您可以使用编译器的-E
(或/E
;所有C和C ++编译器用于使用此名称的此选项)选项来获取翻译单元的预处理输出。这会转储编译器看到的所有声明。看来,你只是在函数和类之后,而-E
选项也会编写所有声明。如果你真的只想要函数和类,你可以使用clang库来获取抽象语法树(AST)并转储出这些。
如果您使用的是Visual Studio,则可以使用代码帮助程序,例如MS intellisense,wholetomato visual assist或resharper。这些可以在给定的上下文中为您提供所有可访问的变量,类,函数,类型,命名空间,常量等。
其他IDE也可能提供此功能,但我从未使用过Visual Studio以外的其他IDE。似乎QtCreator可能是一个很好的选择,如尖锐的here。