使用C++成员的Python ctypes
Python ctypes using C++ members
我正在尝试在python中使用C++。所以ım尝试在python中使用c++成员。
这是我的try.cpp文件。。
extern "C" int test(){
string a="Test!!";
int b = 5;}
还有dll.py…
from ctypes import cdll
import os
fullpath = os.path.abspath('try.dll')
mydll = cdll.LoadLibrary(fullpath)
CALL = mydll.test()
基本上,ı只想使用C++成员喜欢;
CALL = mydll.test()
print CALL.a # Output : Test!!
print CALL.b # Output : 5
有什么建议吗?我只是想直接使用C++成员,但我不确定这是否可行混淆
Python的C API不直接支持C++成员。要实现您的提议,需要在SWIG计划中为您实施一个三步流程。
- 创建一个对
void*
指针的python引用,该指针实际上是一个C++对象,并通过C api公开它 - 对于C++类的每个成员/函数,创建一个向Python公开的C函数,该函数使用void*指针并调用
(Object *)->function()
- 创建一个python类,该类包含对C++对象的python引用,并且具有调用相应的C api函数的方法和函数,这些函数又将其参数传递给C++方法
翻译:使用SWIG
相关文章:
- Python ctypes:不会按预期加载 dll
- python ctypes and C++ pointers
- 无法使用 python ctypes 加载C++共享库
- 在python-ctypes中声明变量并传递给dll函数
- 为什么我在这里遇到分段错误?[Python ctypes]
- 将Thirt-Party共享图书馆与Python Ctypes集成
- Python ctypes and void const pointers
- Python & CTypes Null Pointer Error
- Python ctypes,回调函数增强类型是C++参考
- 从 python ctypes 调用 CPP 函数
- 在python ctypes中截断了指向C++自定义类实例的指针地址
- Python ctypes:如何释放内存?获取无效指针错误
- Python ctypes generator
- 带有抽象类的 Python ctypes
- 使用C++成员的Python ctypes
- C DLL和Python CTypes-发布/调试中的不同返回
- 调试 Python ctypes 分段错误
- Python Ctypes 在调用 C++ 函数的 C 包装器时崩溃
- 如何调试-Python CTypes导致*检测到glibc*
- 为什么这个 extern "C" 函数不能使用 python ctypes 工作?