Cython:`cdef public: void f()` 和 `cdef public: cdef void f()` 之间有区别吗
Cython: Are there differences between `cdef public: void f()` and `cdef public: cdef void f()`
.pxd 文件中的一个函数,定义如下:
cdef public:
void f()
或者这样:
cdef public:
cdef void f()
两种情况都可以正常编译,没有错误。我想知道这两个之间的区别,哪个才是真正的 C 函数?
自己测试了一下,结果是:一模一样
我已经检查了 Cython 转译器的 *.h、*_api.h、*.c、*.cpp 输出文件,用于具有问题中所述定义的测试模块,它们在每个字节中都相等.
结论:第二个cdef是多余的
.pxd 文件中的一个函数,定义如下:
cdef public:
void f()
或者这样:
cdef public:
cdef void f()
两种情况都可以正常编译,没有错误。我想知道这两个之间的区别,哪个才是真正的 C 函数?
自己测试了一下,结果是:一模一样
我已经检查了 Cython 转译器的 *.h、*_api.h、*.c、*.cpp 输出文件,用于具有问题中所述定义的测试模块,它们在每个字节中都相等.
结论:第二个cdef是多余的