这似乎是我想要的,只是我想在另一个 C 模块中创建一个 C PyObject 的实例。
Create instance of a python class , declared in python, with C API
但我无法找到使用 C 中的 Python 模块的文档。我似乎无法在网上找到相关文档,因为每个人都只谈论用 C 扩展 Python。
我的问题是我有一个我想加速的 Pygame。所以我正在制作一个需要访问 Pygame 的 C 模块。我如何导入pygame?我不想导入两份,对吗?我能弄清楚的编码部分,我只是不知道如何配置和链接代码。我知道我一定遗漏了一些文档,所以如果有人能指出我正确的方向,我将非常感激。
更新:抱歉,我重读了我的帖子,发现我的措辞很糟糕。
如果您安装了 pygame,您可以查看 Python/include 目录并找到 pygame 头文件。他们有什么用?我认为你的 C 模块可以直接访问 pygame C 模块,所以你的 python 脚本和你的 C 模块使用相同的 pygame 实例。
有人澄清一下吗?
最佳答案
诀窍是编写普通的 Python 例程,但在 C 中。使用 PyImport_ImportModule()
, PyObject_GetAttr()
, 和 PyObject_Call()
视情况而定。
关于python - 在我自己的 C 模块中使用 python 模块的 C API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2170625/