我试图使用给定的here指令扩展python3,我很有信心到目前为止我已经正确地遵循了这些指令,但它要求我包括以下代码:
PyMODINIT_FUNC
PyInit_spam(void)
{
PyObject *m;
m = PyModule_Create(&spammodule);
if (m == NULL)
return NULL;
SpamError = PyErr_NewException("spam.error", NULL, NULL);
Py_INCREF(SpamError);
PyModule_AddObject(m, "error", SpamError);
return m;
}
我是用MSVC++2010编写的,它警告我&spammodule是未定义的(模块的名称是spammodule.cpp文件),但它没有在指令中的任何地方定义它,所以我假设它应该自动将它识别为模块的名称。在
完整代码是:
^{pr2}$
不不,
PyModule_Create()
接受指向模块定义结构的指针,与源文件的名称完全无关。在你仍然在写C++,所以你仍然需要在某处声明{{CD1}}。这在同一页后面给出:
相关问题 更多 >
编程相关推荐