📄 python_globals.h
字号:
PyObject *getattrstr; // Objects\classobject.c
PyObject *setattrstr;
PyObject *delattrstr;
PyObject *docstr;
PyObject *modstr;
PyObject *classobject_namestr;
PyObject *initstr;
PyObject *delstr;
PyObject *reprstr;
PyObject *strstr;
PyObject *hashstr;
PyObject *eqstr;
PyObject *cmpstr;
PyObject *getitemstr;
PyObject *setitemstr;
PyObject *delitemstr;
PyObject *lenstr;
PyObject *iterstr;
PyObject *nextstr;
PyObject *getslicestr;
PyObject *setslicestr;
PyObject *delslicestr;
PyObject *__contains__;
PyObject *coerce_obj;
PyObject *cmp_obj;
PyObject *nonzerostr;
PyObject **name_op;
PyObject *instance_neg_o;
PyObject *instance_pos_o;
PyObject *instance_abs_o;
PyObject *instance_invert_o;
PyObject *instance_int_o;
PyObject *instance_long_o;
PyObject *instance_float_o;
PyObject *instance_oct_o;
PyObject *instance_hex_o;
PyMethodObject *classobj_free_list;
PyObject *complexstr; // Objects\complexobject.c
PyObject *dummy; // Objects\dictobject.c
PyObject* xreadlines_function; // Objects\fileobject.c
PyObject *not_yet_string;
void *block_list; // floatobject.c
void *free_list;
void *FO_free_list; // frameobject.c
int numfree;
PyObject *builtin_object;
void *INTOBJ_block_list; // intobject.c
void *INTOBJ_free_list;
#ifndef NSMALLPOSINTS
#define NSMALLPOSINTS 100
#endif
#ifndef NSMALLNEGINTS
#define NSMALLNEGINTS 1
#endif
PyIntObject *small_ints[NSMALLNEGINTS + NSMALLPOSINTS];
PyIntObject _Py_ZeroStruct;
PyIntObject _Py_TrueStruct;
PyObject *indexerr; // Objects\listobject.c
int ticker; // longobject.c
PyCFunctionObject *METHODOBJ_free_list; // methodobject.c
int compare_nesting; // Objects\object.c
PyObject _Py_NotImplementedStruct;
PyObject _Py_NoneStruct;
int _PyTrash_delete_nesting;
PyObject * _PyTrash_delete_later;
PyObject *object_c_key;
PyObject *unicodestr;
PyObject _Py_EllipsisObject; // Objects\sliceobject.c
// stringobject.c :
#if !defined(HAVE_LIMITS_H) && !defined(UCHAR_MAX)
#define UCHAR_MAX 255
#endif
void *characters[UCHAR_MAX + 1];
#ifndef DONT_SHARE_SHORT_STRINGS
void *nullstring;
#endif
PyObject *interned;
#ifndef MAXSAVESIZE
#define MAXSAVESIZE 20 /* Largest tuple to save on free list */
#endif
void *free_tuples[MAXSAVESIZE]; // Objects\tupleobject.c
int num_free_tuples[MAXSAVESIZE];
slotdef* slotdefs; // Objects\typeobject.c
PyObject *bozo_obj;
PyObject *finalizer_del_str;
PyObject *mro_str;
PyObject *copy_reg_str;
PyObject *sq_length_len_str;
PyObject *sq_item_getitem_string;
PyObject *sq_ass_item_delitem_str;
PyObject *sq_ass_item_setitem_str;
PyObject *sq_ass_slice_delslice_str;
PyObject *sq_ass_slice_setslice_str;
PyObject *contains_str;
PyObject *mp_ass_subs_delitem_str;
PyObject *mp_ass_subs_setitem_str;
PyObject *pow_str;
PyObject *nb_nonzero_str;
PyObject *nb_nonzero_len_str;
PyObject *coerce_str;
PyObject *half_compare_cmp_str;
PyObject *repr_str;
PyObject *str_str;
PyObject *tp_hash_hash_str;
PyObject *tp_hash_eq_str;
PyObject *tp_hash_cmp_str;
PyObject *call_str;
PyObject *o_getattribute_str;
PyObject *getattribute_str;
PyObject *getattr_str;
PyObject *tp_set_delattr_str;
PyObject *tp_set_setattr_str;
PyObject *op_str[6];
PyObject *tp_iter_iter_str;
PyObject *tp_iter_getitem_str;
PyObject *next_str;
PyObject *tp_descr_get_str;
PyObject *tp_descr_set_del_str;
PyObject *tp_descr_set_set_str;
PyObject *init_str;
int slotdefs_initialized;
PyObject *slot_nb_negative_cache_str;
PyObject *slot_nb_positive_cache_str;
PyObject *slot_nb_absolute_cache_str;
PyObject *slot_nb_invert_cache_str;
PyObject *slot_nb_int_cache_str;
PyObject *slot_nb_long_cache_str;
PyObject *slot_nb_float_cache_str;
PyObject *slot_nb_oct_cache_str;
PyObject *slot_nb_hex_cache_str;
PyObject *slot_sq_concat_cache_str;
PyObject *slot_sq_repeat_cache_str;
PyObject *slot_sq_inplace_concat_cache_str;
PyObject *slot_sq_inplace_repeat_cache_str;
PyObject *slot_mp_subscript_cache_str;
PyObject *slot_nb_inplace_add_cache_str;
PyObject *slot_nb_inplace_subtract_cache_str;
PyObject *slot_nb_inplace_multiply_cache_str;
PyObject *slot_nb_inplace_divide_cache_str;
PyObject *slot_nb_inplace_remainder_cache_str;
PyObject *slot_nb_inplace_lshift_cache_str;
PyObject *slot_nb_inplace_rshift_cache_str;
PyObject *slot_nb_inplace_and_cache_str;
PyObject *slot_nb_inplace_xor_cache_str;
PyObject *slot_nb_inplace_or_cache_str;
PyObject *slot_nb_inplace_floor_divide_cache_str;
PyObject *slot_nb_inplace_true_divide_cache_str;
PyObject *slot_sq_slice_cache_str;
PyObject *slot_nb_inplace_power_cache_str;
PyObject *slot_nb_power_binary_cache_str;
PyObject *slot_nb_power_binary_rcache_str;
PyObject *slot_nb_add_cache_str;
PyObject *slot_nb_add_rcache_str;
PyObject *slot_nb_subtract_cache_str;
PyObject *slot_nb_subtract_rcache_str;
PyObject *slot_nb_multiply_cache_str;
PyObject *slot_nb_multiply_rcache_str;
PyObject *slot_nb_divide_cache_str;
PyObject *slot_nb_divide_rcache_str;
PyObject *slot_nb_remainder_cache_str;
PyObject *slot_nb_remainder_rcache_str;
PyObject *slot_nb_divmod_cache_str;
PyObject *slot_nb_divmod_rcache_str;
PyObject *slot_nb_lshift_cache_str;
PyObject *slot_nb_lshift_rcache_str;
PyObject *slot_nb_rshift_cache_str;
PyObject *slot_nb_rshift_rcache_str;
PyObject *slot_nb_and_cache_str;
PyObject *slot_nb_and_rcache_str;
PyObject *slot_nb_xor_cache_str;
PyObject *slot_nb_xor_rcache_str;
PyObject *slot_nb_or_cache_str;
PyObject *slot_nb_or_rcache_str;
PyObject *slot_nb_floor_divide_cache_str;
PyObject *slot_nb_floor_divide_rcache_str;
PyObject *slot_nb_true_divide_cache_str;
PyObject *slot_nb_true_divide_rcache_str;
int unicode_freelist_size; // unicodeobject.c
PyUnicodeObject *unicode_freelist;
PyUnicodeObject *unicode_empty;
PyUnicodeObject *unicode_latin1[256];
char unicode_default_encoding[100];
void *ucnhash_CAPI;
PyWeakReference *WRO_free_list; // weakrefobject.c
char* argnames[1];
SPy_type_objects tobj;
PyObject* global_dict;
void* lib_handles; // dynload_symbian.c
PyObject* ThreadError; // threadmodule.c
char stdo_buf[0x200]; // e32module.cpp
int stdo_buf_len;
void* interpreter; // CSPyInterpreter.cpp
PyTypeObject t_Canvas;
PyTypeObject t_Icon;
#if SERIES60_VERSION>=30
PyTypeObject t_InfoPopup;
#endif /* SERIES60_VERSION */
PyTypeObject t_Ao_timer;
#ifdef USE_GLOBAL_DATA_HACK
int *globptr;
int global_read_count;
int thread_locals_read_count;
int tls_mode;
#endif
#ifdef WITH_PYMALLOC
void* usedpools; // Objects\obmalloc.c
void* freepools;
unsigned int arenacnt;
unsigned int watermark;
void* arenalist;
void* arenabase;
#endif
} SPy_Python_globals;
#define MAXTHREADEXITFUNCS 32
typedef struct {
PyThreadState *thread_state;
int n_exitfuncs;
void (*exitfuncs[MAXTHREADEXITFUNCS])();
} SPy_Python_thread_locals;
typedef struct {
SPy_Python_globals* globals;
SPy_Python_thread_locals* thread_locals;
} SPy_Tls;
#ifdef __ARMCC__
DL_IMPORT(SPy_Python_globals*) SPy_get_globals() __pure;
DL_IMPORT(SPy_Python_thread_locals*) SPy_get_thread_locals();
#else
DL_IMPORT(SPy_Python_globals*) SPy_get_globals() __attribute__((const));
DL_IMPORT(SPy_Python_thread_locals*) SPy_get_thread_locals();
#endif
#define PYTHON_GLOBALS (SPy_get_globals())
#define PYTHON_TLS (SPy_get_thread_locals())
#ifdef __cplusplus
}
#endif
extern int SPy_globals_initialize(void*);
extern void SPy_globals_finalize();
extern int SPy_tls_initialize(SPy_Python_globals*);
extern void SPy_tls_finalize(int);
#endif /* __PYTHON_GLOBALS_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -