在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
1. Code & Official_doc: THIS 2. My question. #include <Python.h> /* * 1.PyTypeObject doc, md, 我看了快两天才明白。我是白痴吗? * 这里定义了一个结构体,也就是定义了一个c的类型,名叫 kevin_KevinType. * 2. 回忆一下 c中static, THIS, THIS. */ staticforward PyTypeObject kevin_KevinType; // every Python object contains - a refcount and a pointer to a type object. typedef struct { PyObject_HEAD } kevin_KevinObject; /* * 返回值类型: PyObject * 完全是因为, kevin_KevinObject类型 就仅仅是 PyObject * 如果要是自己定义了一个复杂的类型 kevin_complicatedObject * 那返回值类型 应该是 kevin_complicatedObject * 构造函数 */ static PyObject* kevin_new_kevin(PyObject *self, PyObject *args) { // 定义变量(这还要你废话!?哦O.O) kevin_KevinObject* kevin; /* * 没有存在感。我把它删了。 if(!PyArg_ParseTuple(args, ":new_kevin")) { return NULL; } */ // allocates the memory and then initializes the object kevin = PyObject_New(kevin_KevinObject, &kevin_KevinType); // 看,ta强制转换了。原因,不解释。 return (PyObject*)kevin; } // 析构 static void kevin_kevin_dealloc(PyObject* self) { PyObject_Del(self); } // doc doc 执行。注意,命令的输出是否有错,如果是写文件什么的,sudo,以管理员权限执行:
再执行。如果是ubuntu,应该是有权限问题,sudo
玩玩。 >>> # 是Py_InitModule(name, ...), name的影响,,所以module name是kevin >>> # Py_InitModule:doc >>> # 与 distutils Extension(name, ...), name影响了的区别呢?
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论