大佬教程收集整理的这篇文章主要介绍了如何在 Cython pxd 文件中声明枚举以与外部 C 库接口?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用 Cython 从 Python 调用外部 C 库。代码如下所示:
header.h
typedef enum {
A = 0,B = 1,C = 2,D = 3
} my_enum_type;
cheader.pxd
cdef extern from "header.h":
ctypedef enum my_enum_type:
A = 1,B = 2,C = 3,D = 4
代码.pyx
cimport cheader
cdef cheader.my_enum_type test = A
if test == A:
print("OK")
else:
print("NOK")
使用上面的代码,我得到编译器错误:未声明的名称未内置:A
下面的代码没有编译错误。
cimport cheader
cdef cheader.my_enum_type test = cheader.my_enum_type.A
if test == cheader.my_enum_type.A:
print("OK")
else:
print("NOK")
如果在 pyx 文件中定义了枚举,则可以使用以下代码:
ctypedef enum my_enum_type:
A = 1,D = 4
cdef my_enum_type test = A
if test == A:
print("OK")
else:
print("NOK")
是否可以在 pxd 文件中声明 enum 以便每次必须使用 enum 时都不必引用导入的模块?
在 pxd 文件中声明枚举并在 pyx 文件中使用它的正确方法是什么?
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
以上是大佬教程为你收集整理的如何在 Cython pxd 文件中声明枚举以与外部 C 库接口?全部内容,希望文章能够帮你解决如何在 Cython pxd 文件中声明枚举以与外部 C 库接口?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。