gpt4 book ai didi

python - 使用 Swig 在 C++ 中调用 Python 函数

转载 作者:太空宇宙 更新时间:2023-11-03 11:57:28 25 4
gpt4 key购买 nike

这是我的 C++ 代码:

void callMethod(void (*someMethod)()) {
(*someMethod)();
}

我的 Swig .i 文件是:

%module test
%{
#define SWIG_FILE_WITH_INIT

extern void callMethod(void (*someMethod)());
%}

%typemap (in) void*
%{
$1 = PyCObject_AsVoidPtr($input);
%}


extern void callMethod(void (*someMethod)());

这是我的错误:

In [1]: import test

In [2]: b=test.callMethod

In [3]: def func():
...: print "hi"
...:
...:

In [4]: b(func)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)

$DIR/<ipython console> in <module>()

TypeError: in method 'callMethod', argument 1 of type 'void (*)()'

如何使用 Swig 做我想做的事?

提前致谢!

最佳答案

关于python - 使用 Swig 在 C++ 中调用 Python 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3302146/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com