Я хочу передать обратный вызов из моего кода python в С++
Я хочу, чтобы мой код выглядел примерно так: В С++:
typedef void (*MyCallback_t) (CallbackInfo);
class MyClass
{...
void setcallback(MyCallback_t cb);
...
}
И использовать его в python:
import mylib
def myCallback(mylib_CallbackInfo):
...
t = mylib.MyClass()
t.setcallback(myCallback)
Я видел несколько тем рядом с моей проблемой, но не смог их решить.
Например: Обработка и обратные вызовы в реальном времени с помощью Python и С++ есть советы по использованию boost:: python и предупреждения о GLI, но нет примеров. И здесь
Как вызвать функцию python из потока на иностранном языке (С++) нет полного описания с частью кода python и с частью BOOST_PYTHON_MODULE
Я также нашел ссылку для использования py_boost_function.hpp, например, в Boost python howto, но он не компилировался и не был актуальным, я не мог понять, как его использовать.