从 Python 和 C 生成 sphinx 文档

Generate sphinx documentation from Python and C

我有一个 Python 包,其中包含编译成 .so 的 C 代码。在我的 Python 代码中,我有文档字符串。在我的 C 代码中,我也有文档字符串。 sphinx 是否也对 C 源代码中给出的文档字符串敏感,以便我可以自动生成文档?

是的,假设您指的是 python 解释器可以使用的文档字符串作为已编译模块的一部分。例如:

static PyMethodDef methods[] = {
    ...
    {"convolve",
     Pconvolve,
     METH_VARARGS,
     "convolve(xi,yi,x,dx,y): compute convolution of width dx[k] at points x[k],\nreturned in y[k]"
    },
    ...

    {0}
} ;

.

通常的 autodoc 魔法会把它们捡起来。

如果您指的是 C 注释中的文档字符串,而不是像在 doxygen 中那样的 C 函数,那么不是。您将必须编写自己的代码来提取它们并将它们转换为第一个文件。