我正在尝试在python中使用C ++。所以尝试使用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 ++成员,但我不确定是否可行.. confused
答案 0 :(得分:0)
Python的C API并不直接支持C ++成员。要完成您提出的建议,需要在SWIG计划中为您实施的三步流程。
void*
指针的python引用,并通过C api公开它。(Object *)->function()
翻译:使用SWIG!