Если я правильно понимаю,
PyModule_Create
в Python3.XОба возвращают PyObject*
, однако в Python 3.X функция инициализации модуляДОЛЖНАвозвращать PyObject*
в модуль - т.е.
PyMODINIT_FUNC
PyInit_spam (пусто)
{
вернуть PyModule_Create(&spammodule);
}
тогда как в Python2.X в этом нет необходимости, т.е.
PyMODINIT_FUNC
инициальный спам (пусто)
{
(пусто) Py_InitModule("спам", SpamMethods);
}
Итак, мои вопросы для проверки здравомыслия:
Прямо сейчас я экспериментирую только с очень простыми случаями C-расширений Python. Возможно, если бы я делал больше, ответ на этот вопрос был бы очевиден, или, может быть, если бы я пытался внедрить Python во что-то еще....