c++ - Python 在由主机程序初始化后连接到 C++ dll?

标签 c++ python c dll

宿主程序支持C++插件。 C++ dll 被编写为其插件。该插件将在启动时由主机程序初始化。
有什么方法可以使用 Python 在主机初始化 C++ dll 之后附加到它吗?
目的是将所有繁重的工作转移给 Python,因为它是一种熟悉的语言。

根据我的搜索,有ctypes,ctypes可以实现吗?或者我是否必须在 C++ dll 中嵌入 python 解释器?

最佳答案

您可以创建一个 C++ 插件,然后使用 boost::python 将功能委托(delegate)给您的 Python 代码(嵌入在插件中或文件系统中) 。

但是无论如何您都必须编写大量 C++ 代码。而且它不会是一种容易调试的类型。您必须将 C++ 与 Python 内存管理与您的插件架构所使用的内存管理连接起来。

不妨硬着头皮用 C++ 编写插件。社区支持也是需要考虑的因素。您可能不想成为唯一采用此架构的人。

关于c++ - Python 在由主机程序初始化后连接到 C++ dll?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18473093/

相关文章:

c++ - Visual Studio 2013 调试器显示 std::string 的奇怪值

c++ - VBA 64 位 Excel 不将指针传递给 DLL 函数 (C++)

python - 使用另一个 numpy 数组元素作为索引向量化更新 numpy 数组

c - 如何从文件读取数据并清理并存储到文件

c++ - `back_emplacer` 实现 : default operator= vs universal reference version?

c++ - 错误 : multiple types in one declaration

python - 字符串镜像函数

python - 如何使用数学模块(Python 3)四舍五入到 32

c - 取消引用空指针在 sizeof 操作中是否有效

c - 使用函数求偶数