在 C++ 中如何显示命名空间内的所有元素?
可以使用 Doxygen 分离命名空间并打印它们吗?使用 GCC?
我假设我不知道命名空间名称所以我想打印它们,或者我知道一个特定的命名空间名称并且我想知道里面有什么。
最佳答案
C++ 没有反射(例如许多动态语言或 Java 和 .NET),因此在 C++ 中是不可能的。
Doxygen 可以将其数据导出为 XML 而不是 HTML,因此您可以使用 XSLT 样式表将 Doxygen 的 XML 输出转换为您想要的任何格式。
有一个名为 GCC-XML 的 GCC 版本,它不是编译输出已解析的 C++ 代码的 XML 表示形式,在这里您也可以这样做。
最后但同样重要的是,您当然可以为 Clang 的 GCC 创建一个插件并在其中执行(例如,GCC 可以使用使用 Mozilla 的 Dehydra 补丁以 Javascript 编写的插件)。
我建议查看 Doxygen XML 输出。
关于c++ - 如何显示命名空间中的所有元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12882668/