我有一些C
源代码,想把它包装在Cython中。现在,问题是,有一个名为print
的结构,并且externing会引发语法错误。
cdef extern from "foo.h":
struct print:
# ...
当像关键字一样调用属性或函数或类似函数时,会出现相同的问题。
cdef extern from "foo.h":
struct foo:
bint print
print(char*, int)
有没有办法解决这个问题,没有修改源?也许有些技术用源文件中的实名替换代理名称?
答案 0 :(得分:2)
我认为您正在寻找的解决方案是:
cdef extern from "foo.h":
struct print "MY_print":
double var "MY_var"
print.var将由以下人员定义:
MY_print.MY_var
这样,您可以从头文件重命名结构,函数,联合和枚举。当Cython将您的代码编译为C代码
时,将转换名称