如何显示命名空间中的所有元素

How to show all the elements in a namespace?

本文关键字:元素 命名空间 何显示 显示      更新时间:2023-10-16

我可以怎么做才能在C++中显示命名空间内的所有元素?

是否可以分离命名空间并使用 Doxygen 将它们全部打印出来?使用海湾合作委员会?

我假设我不知道命名空间名称,

所以我想将它们全部打印出来,或者我知道一个特定的命名空间名称,我想知道里面有什么。

C++没有

反射(例如许多动态语言或Java和.NET),因此不可能从C++内部进行反射。

Doxygen可以将其数据导出为XML而不是HTML,因此您可以使用XSLT样式表将Doxygen的XML输出转换为所需的任何格式。

有一个名为GCC-XML的GCC版本,它不是编译输出解析C++代码的XML表示,在这里你可以做同样的事情。

最后但并非最不重要的一点是,您当然可以为 Clang 的 GCC 创建一个插件并在那里完成(例如,GCC 可以使用使用 Mozilla 的 Dehydra 补丁用 Javascript 编写的插件)。

我建议查看Doxygen XML输出。

如果你在 Linux 上,你可以使用nm工具列出生成的二进制文件中的所有符号,并根据需要解析输出:

nm -C some-app