[d]《python源码剖析》c宏定义的小疑点
[d]《python源码剖析》c宏定义的小问题最近刚开始看《python源码剖析》,里面看到Python源码里 object.h文件里
[d]《python源码剖析》c宏定义的小问题
最近刚开始看《python源码剖析》,里面看到Python源码里 object.h
文件里几个宏定义:
C/C++ code#define _PyObject_HEAD_EXTRA \ struct _object *_ob_next; \ struct _object *_ob_prev;#define PyObject_HEAD \ _PyObject_HEAD_EXTRA \ Py_ssize_t ob_refcnt; \ struct _typeobject *ob_type;#define PyObject_HEAD_INIT(type) \ _PyObject_EXTRA_INIT \ 1, type,
不是很理解这几个宏定义什么意思,比如 PyObject_HEAD,下面的三个
_PyObject_HEAD_EXTRA
Py_ssize_t ob_refcnt;
struct _typeobject *ob_type;
是各自等于PyObject_HEAD,还是这三个加起来等于PyObject_HEAD?
请教。谢谢。
--------------------------
Double行动:
原帖分数:40
帖子加分:40
[解决办法]_PyObject_HEAD_EXTRA 等效于下面两行,相当于定义了一个 next 和 prev 指针
[解决办法]这不就是 c 语言么。建议你还是看看 c 语言教程再分析 python 源码不迟
[解决办法]可以看看使用的代码,把宏展开,就知道什么意思了
[解决办法]c语言, 没神马好说的.