【发布时间】:2019-04-17 14:38:51
【问题描述】:
在我目前参与的一些工作过程中,我需要更好地理解使用 Swig 包装 C++ 时生成的 .py 文件的内容。这是在现有系统(我没有编写)的上下文中,它添加了一些自定义 Python 来操作模块中 globals() 的内容。在试图理解这一点时,我意识到我什至不理解“正常”的 Swig 生成的代码。
例如,假设我们正在创建一个模块 MyModule,并在其中包装了一个 C++ 函数 void f()。 Swig 生成的 Python 文件 MyModule.py 中会出现以下内容:
def f():
return _MyModule.f()
f = _MyModule.f
我的问题是:上面的前两行有什么意义?前两行添加到 MyModule 的 globals() 的“f”条目立即被第三行覆盖,我认为这基本上等同于前面的 def f()。
我错过了什么吗?
【问题讨论】: