在python的源代碼,也有一些像這樣的宏定義:爲什麼PyObject *可以指向python中的任何對象?
#define PyObject_HEAD \
int ob_refcnt; \
struct _typeobject *ob_type;
#define PyObject_VAR_HEAD \
PyObject_HEAD \
int ob_size;
typedef struct _object {
PyObject_HEAD
} PyObject;
typedef struct _object {
PyObject_HEAD
long ob_ival;
} PyIntObject;
typedef struct {
PyObject_VAR_HEAD
} PyVarObject;
的問題是,爲什麼的PyObject *可以指向每個對象(如PyIntObject,PyVarObject)在Python?
宏定義中是否缺少一些反斜槓? – Jens 2012-07-31 09:20:43
是的......我忘了那個...... – 2012-07-31 09:50:19
我編輯它後現在看起來是否正確? – Jens 2012-07-31 11:04:54