目前,SWIG 根本不解析包括 Doxygen 文档在内的代码注释。
几年来,有一个 SWIG 分支正在开发中,以使 SWIG 能够处理 Doxygen 注释,但即便如此,目前(AFAIK)也只能将它们映射到 Java 和 Python 文档。
因此,当前最好的选择是从 C++ 源代码中提取 Doxygen 文档并将其插入到 SWIG 生成的包装器中。要了解如何做到这一点,这里有一个简短的解释doxy2swig.py(这确实适用于 python 文档字符串):
%feature("docstring")SWIG 指令来告诉 SWIG 将文档字符串附加到包装的类和方法。基本上,C# 也可以做类似的事情。我不知道如何为 C# 执行 (2),即如何将 Doxygen XML 输出转换为合适的 C# 文档,这可能需要您自己实现(也许通过修改脚本doxy2swig.py)。
对于 (3),这里记录了一个巧妙的技巧,指出使用 和 也可以对 C# 完成相同的%csclassmodifiers操作%csmethodmodifiers。AFAIK 这些 SWIG 功能指令用于在 C# 方法或类前面添加public或。protected但它们可以被劫持以添加提取的文档(+public关键字,不要忘记)。%feature("docstring")因此,它们实际上允许与Python 指令相同的功能。
最后,我不懂 C#,但是将 Doxygen 注释包含在 C# 包装器中有何意义?如果您只想使用 Doxygen 生成文档,则可以直接从 C++ 源代码执行此操作,因此您不会获得任何结果。在 Python 中,文档字符串可以在运行时显示为帮助,并由某些 IDE 使用。C#也有这个吗?
| 归档时间: |
|
| 查看次数: |
841 次 |
| 最近记录: |