⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 python_globals.h

📁 python s60 1.4.5版本的源代码
💻 H
📖 第 1 页 / 共 2 页
字号:
    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 + -