Я связываю классы C ++ с Python и нашел интересное решение предыдущей проблемы, к сожалению, это привело к другому вопросу, на который, похоже, тоже нет простого ответа.
Я обертываю каждую функцию в «вызываемый» PyObject, что делает его вызываемым из-за наличия определения функции call (сторона C, это метод tp_call в PyTypeObject).
Кажется, что tp_call принимает троичную функцию, которая просто принимает (PyObject *, PyObject *, PyObject *) в качестве списка аргументов.
Теперь проблема в том, что мне нужно, чтобы эта функция простозаменить PyCFunction, которая просто принимает аргументы (PyObject * self, PyObject * args).Теперь на стороне Python это можно сделать легко, но на стороне C, похоже, нужна троичная функция, когда я просто хочу двоичную, так есть ли возможность сделать вызываемую функцию простой, используя указатель PyCFunction или способ ее инкапсуляции?