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

python源码剖析》c宏定义的有关问题

2012-09-13 
python源码剖析》c宏定义的问题最近刚开始看《python源码剖析》,里面看到Python源码里 object.h 文件里几个宏

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_EXTRA 
Py_ssize_t ob_refcnt; 
struct _typeobject *ob_type;
是不是各自等于PyObject_HEA?

第三个宏定义里:
1, type, 
为什么这么写呢?
第三个宏定义什么意思呢?

[解决办法]
编译选项加/EP /P,重新编译,查看宏展开后对应的.i文件。

[解决办法]
在定义#define时候,斜杠'\'是用来续行的。。。
参考资料:
http://wenku.baidu.com/view/87dbe504eff9aef8941e06eb.html

热点排行