【发布时间】:2016-05-19 20:03:13
【问题描述】:
我正在从嵌入式系统包装一些 C 代码以进行试验,使用 SWIG 并以 Python 为目标。这是简单的代码,我已经排除了硬件,一切都编译得很好。
我遇到的问题是我感兴趣的函数在 C 文件顶部定义的静态全局“上下文”变量上运行。我不知道如何让这个变量由模块实例化并由包装函数操作。
我制作了一些简单的测试文件来玩,如果我在模块中声明全局变量,它会出现在 cvar 中,但是应该在其主体中修改此变量的函数对 cvar 实例没有影响。
有什么方法可以在不修改我包装的 C 源文件的情况下完成这项工作?
【问题讨论】:
-
如果你像这样改变它,它对我有用。
somelib.cvar.somevar = 4.0. -
对不起,你是对的。也不为我工作。您可以在 swig .i 文件中内联代码来设置变量,但这不是很优雅
标签: python c embedded global-variables swig