Where Online Learning is simpler!
The C and C++ Include Header Files
/usr/include/python3.12/internal/pycore_moduleobject.h
$ cat -n /usr/include/python3.12/internal/pycore_moduleobject.h 1 #ifndef Py_INTERNAL_MODULEOBJECT_H 2 #define Py_INTERNAL_MODULEOBJECT_H 3 #ifdef __cplusplus 4 extern "C" { 5 #endif 6 7 #ifndef Py_BUILD_CORE 8 # error "this header requires Py_BUILD_CORE define" 9 #endif 10 11 typedef struct { 12 PyObject_HEAD 13 PyObject *md_dict; 14 PyModuleDef *md_def; 15 void *md_state; 16 PyObject *md_weaklist; 17 // for logging purposes after md_dict is cleared 18 PyObject *md_name; 19 } PyModuleObject; 20 21 static inline PyModuleDef* _PyModule_GetDef(PyObject *mod) { 22 assert(PyModule_Check(mod)); 23 return ((PyModuleObject *)mod)->md_def; 24 } 25 26 static inline void* _PyModule_GetState(PyObject* mod) { 27 assert(PyModule_Check(mod)); 28 return ((PyModuleObject *)mod)->md_state; 29 } 30 31 static inline PyObject* _PyModule_GetDict(PyObject *mod) { 32 assert(PyModule_Check(mod)); 33 PyObject *dict = ((PyModuleObject *)mod) -> md_dict; 34 // _PyModule_GetDict(mod) must not be used after calling module_clear(mod) 35 assert(dict != NULL); 36 return dict; 37 } 38 39 PyObject* _Py_module_getattro_impl(PyModuleObject *m, PyObject *name, int suppress); 40 PyObject* _Py_module_getattro(PyModuleObject *m, PyObject *name); 41 42 #ifdef __cplusplus 43 } 44 #endif 45 #endif /* !Py_INTERNAL_MODULEOBJECT_H */
Welcome to MyWebUniversity on April 15, 2025.
Contact us
|
About us
|
Term of use
|
Copyright © 2000-2025 MyWebUniversity.com ™