Si estoy entendiendo correctamente,Diferencia entre PyMODINIT_FUNC y PyModule_Create
- PyMODINIT_FUNC en Python 2.X ha sido reemplazado por
PyModule_Create
en Python3.X Ambos devuelven
PyObject*
, sin embargo, en Python 3. X, la función de inicialización del módulo MUST retorno delPyObject*
al módulo - es decir,PyMODINIT_FUNC PyInit_spam(void) { return PyModule_Create(&spammodule); }
mientras que en python2.X, esto no es necesario - es decir,
PyMODINIT_FUNC initspam(void) { (void) Py_InitModule("spam", SpamMethods); }
lo tanto, mi cordura preguntas de revisión son:
- es mi entendimiento correcto?
- ¿Por qué se realizó este cambio?
En este momento, solo estoy experimentando con casos muy simples de C-extensions of Python. Tal vez si yo estuviera haciendo más, la respuesta a esto sería obvio, o tal vez si se trata de incrustar Python en otra cosa ....