我有一个C函数,我想在Python中使用,但是这个函数有一些属于旧GUI的变量(不再使用)。 有没有办法将此函数导入Python并重新为GUI变量赋值?怎么样?
例如,假设我在C中有以下函数,其中输入来自GUI:
bool validate() {
if (inputs->name == "") {
return false;
}
// ...
return true;
}
如何在cython中声明它,以便在python中运行,以及如何覆盖输入值? 非常感谢
修改
ctest.pxd :
cdef extern from "myProj.h":
bool print()
test.pyx :
def cPrint():
# Is it possible to modify inputs here or anywhere else??
return ctest.print()
答案 0 :(得分:1)
如果变量是由C库公开的,你应该能够简单地将它们的声明添加到你的cython文件中,然后在函数调用中适当地设置它们:
cdef extern from "myProj.h":
bool print()
struct inputs_t:
char* name
...
inputs_t* inputs;
def cPrint():
inputs.name = "abc"
return print()