如何使用 RST 引用内置 C 类型?

How to reference built-in C types with RST?

我正在用 Sphinx 和 RST 编写一个 C 库;我希望在几个函数的文档中引用一些 C 的内置类型。比如我要引用C的double类型.

我确实在文件的最顶部有一些配置以确保域是 C:

.. default-domain:: c
.. highlight:: c

在函数定义中引用 :type:`double` :c:type:`double` 可以很好地完成格式化工作,但我在构建时收到警告:Unparseable C cross-reference: 'double'。我想这是因为我没有像这样明确定义 double 的类型:

.. c:type:: double

但是定义类型意味着它是可见的——并且在我的文档中显示 C 的内置类型是次优的。

有没有办法在我的文档中使用 :type: 语法来引用 C 内置类型而不显式定义它们(或者,如果我必须定义它们,隐藏定义)?或者,有没有办法让构建警告静音?或者,作为第三种选择,是否最好使用 :code: 语法,如果是这样,是否有办法使其样式与 :type: 语法的样式相同?

此时您不能声明 built-in C 类型(至少它不应该工作)。但是,您可以使用 :c:expr:c:texpr: 角色 (https://www.sphinx-doc.org/en/master/usage/restructuredtext/domains.html#inline-expressions-and-types).

设置它们的样式