代码之家  ›  专栏  ›  技术社区  ›  Dan D.

Cython:“cdef public:void f()”和“cdef public:cdef void f()”之间有区别吗`

  •  0
  • Dan D.  · 技术社区  · 2 年前

    中的函数。pxd文件和be定义如下:

    cdef public:
        void f()
    

    或者这样:

    cdef public:
        cdef void f()
    

    这两种情况都编译得很好,没有错误。我想知道这两者之间的区别,哪一个是真正的C函数?

    0 回复  |  直到 2 年前
        1
  •  1
  •   Dan D.    2 年前

    我自己测试了一下,结果是:它们完全一样。

    我已经退房了*。h、 *\u api。h、 *。c、 *。Cython transpiler的cpp输出文件,用于测试模块,定义如问题所述,每个字节都相等。

    结论:第2个cdef是多余的。

    推荐文章