是否可以有一个同时也是CPython模块的独立程序?

时间:2018-12-09 18:35:18

标签: c python-module cpython

从C的角度看,我对CPython的内部并不十分熟悉(尽管我是从Python的侧向负载中钻研来的!),但我了解基本原理。

Python documentation说:

  

该结构又必须传递给模块初始化函数中的解释器。初始化函数必须命名为PyInit_name(),其中 name 是模块的名称,并且应该是模块文件中定义的唯一非{static}项:

PyMODINIT_FUNC
PyInit_spam(void)
{
    return PyModule_Create(&spammodule);
}

问题是,我不知道这意味着什么。假设我有一个简单的Python模块/ C程序组合:

#include "Python.h"

int main(int argc, char *argv[]) {
    return 6;
}

PyMODINIT_FUNC
PyInit_spam(void) {
     return PyErr_NoMemory();
}

作为模块导入时,这会成功引发MemoryError吗?还是会引发ImportError

0 个答案:

没有答案