Nếu tôi hiểu một cách chính xác,Sự khác nhau giữa PyMODINIT_FUNC và PyModule_Create
- PyMODINIT_FUNC bằng Python 2.x đã được thay thế bởi
PyModule_Create
trong Python3.X Cả hai trở
PyObject*
, tuy nhiên, trong Python 3. X, chức năng khởi tạo của mô-đun pHẢI bù lạiPyObject*
để module - tức làPyMODINIT_FUNC PyInit_spam(void) { return PyModule_Create(&spammodule); }
trong khi ở Python2.X, điều này là không cần thiết - ví dụ:
PyMODINIT_FUNC initspam(void) { (void) Py_InitModule("spam", SpamMethods); }
Vì vậy, sự tỉnh táo của tôi kiểm tra câu hỏi là:
- là hiểu biết của tôi có đúng không?
- Tại sao thay đổi này được thực hiện?
Hiện tại, tôi chỉ đang thử nghiệm các trường hợp C-mở rộng đơn giản của Python. Có lẽ nếu tôi đã làm nhiều hơn, câu trả lời cho điều này sẽ là hiển nhiên, hoặc có thể nếu tôi đang cố gắng nhúng Python vào một cái gì đó khác ....