【问题标题】:how do I create readable C++/CX document from XML generated by Visual Studio 2015如何从 Visual Studio 2015 生成的 XML 创建可读的 C++/CX 文档
【发布时间】:2015-10-08 16:02:26
【问题描述】:

我的项目是在 VS2015 上用 C++/CX 编写的,我正在寻找一种生成 API 文档的方法。

在google和stackoverflow之后,我尝试了doxygen、VSDocman、NDoc、Atomineer Pro Documentation和SandCastle,我发现这些工具不支持C++/CX语法,因此无法生成正确的文档。

我也尝试生成 VS 支持的 XML 文件。但是XML文件很难读取。

如何从 C++/CX 生成 API 文档?感谢您的任何建议

【问题讨论】:

    标签: visual-studio visual-c++ documentation


    【解决方案1】:

    对于 C++/CX 语言扩展存在很多的误解。你尝试了太多没有希望让你到任何地方的产品。首先也是最重要的是,它是一个原生 C++ 扩展,不会生成与 .NET 兼容的程序集。所以淘汰任何试图使用反射来解析元数据的人。 NDoc、VSDocman、Sandcastle 出局。 Atomineer 出来了,它只是一个编辑器插件。

    所以你剩下的就是doxygen。

    当然,它不知道开箱即用的 C++/CX。 FAQ指出,为了使其兼容某种语言,需要修改src/scanner.l

    看了一下,我发现它已经支持 C++/CLI 扩展。这是另一个支持生成 MSIL 的 C++ 语言扩展。 C++/CX 语法非常接近 C++/CLI。只是一些细微的差别,比如gcnew 关键字太误导,被ref new 取代。但这不是 doxygen 关心的那种语法,它只是想知道声明。这些关键字是相同的。

    所以我能猜到的唯一障碍是你忘了告诉它有关语言的信息。它无法仅从文件扩展名中正确猜测,.cpp 和 .h 将让它解析普通的 C++。在配置文件中修改或添加这一行:

       CPP_CLI_SUPPORT        = YES
    

    必要时调整scanner.l。

    【讨论】:

    • 非常感谢。但是,我还是不明白为什么 Visual Studio 提供 XML 文档生成?如果不能使用,它看起来像是多余的。
    • 它是用来生成 IntelliSense 信息的,这种信息是在您编辑源代码时弹出的。它从未打算生成文档。它可能对文档生成有用是次要的,必须解析 C++ 是这里的障碍。
    猜你喜欢
    • 2010-10-25
    • 2016-11-11
    • 1970-01-01
    • 1970-01-01
    • 2011-05-02
    • 1970-01-01
    • 1970-01-01
    • 2018-07-26
    • 1970-01-01
    相关资源
    最近更新 更多