, поэтому я должен был проверить источник, чтобы убедиться, что это было так, как я думал.

раиваю Python в библиотеку C ++, которую я делаю. Я хотел бы, чтобы пользователи могли передавать функции C в виде указателей на функцииPyObject* (fpFunc*)(PyObject*,PyObject*); так что я могу использовать эти функции во встроенном Python.

Итак, у меня есть указатель на функцию, и я знаю, что можно поместить эту функцию как метод модуля, используяPyMethodDef структурировать и передать егоPy_InitModule("module", ModMethods); и, таким образом, получениеPyObject* module из которого я могу легко получить функции.

Но что я действительно ценю, так это возможность создавать эту функцию на лету без необходимости каждый раз заново создавать другой модуль.

Я изучил документы Python и некоторые заголовки Python, чтобы подумать о хакерском способе сделать это без реального успеха ... но мне интересно, есть ли более традиционный способ сделать это.

Из того, что я понял, каждая функция принадлежит модулю, даже__builtin__, так что я думаю, что мне потребуется по крайней мере на модуле.

Есть идеи, как этого добиться?

Ответы на вопрос(1)

Ваш ответ на вопрос