【发布时间】:2018-07-11 21:30:39
【问题描述】:
我有一个 C 头文件(我们称之为 myheader.h),其中包含一些字符串定义,例如:
#define MYSTRING "mystring-constant"
在 Cython 中,我创建了一个 cmy.pxd 文件,其中包含:
cdef extern from "myheader.h":
cdef const char* MYSTRING "MYSTRING"
还有一个相应的 my.pyx 文件,其中包含一些类定义,均以:
from cmy cimport *
然后我尝试在 Python 脚本中引用该字符串:
from my import *
def main():
print("CONSTANT ", MYSTRING)
if __name__ == '__main__':
main()
问题是我不断收到错误:
NameError: name 'MYSTRING' is not defined
我已搜索文档但无法确定问题所在。任何建议都会受到欢迎 - 我承认这可能真的很愚蠢。
【问题讨论】:
-
对于您拥有的函数,您可以使用
cpdef之类的东西让它们在 Python 中可见。 -
This 也相关,但不完全是您所追求的