gpt4 book ai didi

cython - 有没有办法包装一个像关键字一样命名的结构(例如 print )?

转载 作者:行者123 更新时间:2023-12-02 07:20:19 29 4
gpt4 key购买 nike

我有一些 C 源代码,想将其包装在 Cython 中。现在的问题是,有一个名为 print 的结构,将其外部化会引发语法错误。

cdef extern from "foo.h":
struct print:
# ...

当像关键字一样调用属性或函数等时,也会出现同样的问题。

cdef extern from "foo.h":
struct foo:
bint print
print(char*, int)

有没有办法解决这个问题,无需修改源代码?也许有一些技术可以用源文件中的真实姓名替换代理名称?

最佳答案

我认为您正在寻找的解决方案类似于:

cdef extern from "foo.h":
struct print "MY_print":
double var "MY_var"

print.var 将被定义为:

MY_print.MY_var

这样您就可以从头文件中重命名结构、函数、联合和枚举。当 Cython 将代码编译为 C 代码时,名称会被转换。

Cython文档的相关部分可以找到here .

关于cython - 有没有办法包装一个像关键字一样命名的结构(例如 print )?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8882649/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com