Wenn ich richtig verstehen,Unterschied zwischen PyMODINIT_FUNC und PyModule_Create
- PyMODINIT_FUNC in Python 2.x wurde von
PyModule_Create
in Python3.X Beide geben
PyObject*
jedoch in Python 3 ersetzt. X, die Initialisierungsfunktion MUST Rückkehr des Moduls diePyObject*
zum Modul - dhPyMODINIT_FUNC PyInit_spam(void) { return PyModule_Create(&spammodule); }
während in Python2.x, ist dies nicht notwendig - das heißt
PyMODINIT_FUNC initspam(void) { (void) Py_InitModule("spam", SpamMethods); }
Also, meine geistige Gesundheit Überprüfung Fragen sind:
- Ist mein Verständnis richtig?
- Warum wurde diese Änderung vorgenommen?
Im Moment experimentiere ich nur mit sehr einfachen Fällen von C-Erweiterungen von Python. Vielleicht, wenn ich mehr tun würde, wäre die Antwort auf diesen offensichtlich, oder vielleicht, wenn ich versuche anderen Python in etwas einzuzubetten ....