Diferencia entre PyMODINIT_FUNC y PyModule_Create
Si estoy entendiendo correctamente,
PyMODINIT_FUNC en Python 2.X ha sido reemplazado porPyModule_Create
en Python3.XAmbos regresanPyObject*
Sin embargo, en Python 3.X, la función de inicialización del módulo.DEBE devuelve elPyObject*
al módulo - es decir
<code>PyMODINIT_FUNC PyInit_spam(void) { return PyModule_Create(&spammodule); } </code>
mientras que en Python2.X, esto no es necesario, es decir,
<code>PyMODINIT_FUNC initspam(void) { (void) Py_InitModule("spam", SpamMethods); } </code>
Por lo tanto, mis preguntas de comprobación de cordura son:
¿Mi entendimiento es correcto?¿Por qué se hizo este cambio?En este momento, solo estoy experimentando con casos muy simples de extensiones C de Python. Quizás si estuviera haciendo más, la respuesta a esto sería obvia, o tal vez si estuviera tratando de incrustar Python en otra cosa ...