首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

[d]《python源码剖析》c宏定义的小疑点

2012-09-13 
[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语言, 没神马好说的.

热点排行