PyMODINIT_FUNC和PyModule_Create之间的区别
发布于 2021-01-29 16:08:48
如果我理解正确,
- Python 2.X
PyModule_Create
中的PyMODINIT_FUNC已在Python3.X中替换为 - 两者都返回
PyObject*
,但是,在Python 3.X中,模块的初始化函数 务必将 返回PyObject*
给模块-即PyMODINIT_FUNC
PyInit_spam(void)
{
return PyModule_Create(&spammodule);
}
而在Python2.X中,这不是必需的-即
PyMODINIT_FUNC
initspam(void)
{
(void) Py_InitModule("spam", SpamMethods);
}
因此,我的健全性检查问题是:
- 我的理解正确吗?
- 为什么要进行此更改?
现在,我仅在试验非常简单的Python C扩展案例。也许如果我做更多的事情,答案很明显,或者如果我试图将Python嵌入其他东西中……。
关注者
0
被浏览
50
1 个回答