Where Online Learning is simpler!
The C and C++ Include Header Files
/usr/include/python3.12/internal/pycore_pymem_init.h
$ cat -n /usr/include/python3.12/internal/pycore_pymem_init.h 1 #ifndef Py_INTERNAL_PYMEM_INIT_H 2 #define Py_INTERNAL_PYMEM_INIT_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 #include "pycore_pymem.h" 12 13 14 /********************************/ 15 /* the allocators' initializers */ 16 17 extern void * _PyMem_RawMalloc(void *, size_t); 18 extern void * _PyMem_RawCalloc(void *, size_t, size_t); 19 extern void * _PyMem_RawRealloc(void *, void *, size_t); 20 extern void _PyMem_RawFree(void *, void *); 21 #define PYRAW_ALLOC {NULL, _PyMem_RawMalloc, _PyMem_RawCalloc, _PyMem_RawRealloc, _PyMem_RawFree} 22 23 #ifdef WITH_PYMALLOC 24 extern void* _PyObject_Malloc(void *, size_t); 25 extern void* _PyObject_Calloc(void *, size_t, size_t); 26 extern void _PyObject_Free(void *, void *); 27 extern void* _PyObject_Realloc(void *, void *, size_t); 28 # define PYOBJ_ALLOC {NULL, _PyObject_Malloc, _PyObject_Calloc, _PyObject_Realloc, _PyObject_Free} 29 #else 30 # define PYOBJ_ALLOC PYRAW_ALLOC 31 #endif // WITH_PYMALLOC 32 33 #define PYMEM_ALLOC PYOBJ_ALLOC 34 35 extern void* _PyMem_DebugRawMalloc(void *, size_t); 36 extern void* _PyMem_DebugRawCalloc(void *, size_t, size_t); 37 extern void* _PyMem_DebugRawRealloc(void *, void *, size_t); 38 extern void _PyMem_DebugRawFree(void *, void *); 39 40 extern void* _PyMem_DebugMalloc(void *, size_t); 41 extern void* _PyMem_DebugCalloc(void *, size_t, size_t); 42 extern void* _PyMem_DebugRealloc(void *, void *, size_t); 43 extern void _PyMem_DebugFree(void *, void *); 44 45 #define PYDBGRAW_ALLOC(runtime) \ 46 {&(runtime).allocators.debug.raw, _PyMem_DebugRawMalloc, _PyMem_DebugRawCalloc, _PyMem_DebugRawRealloc, _PyMem_DebugRawFree} 47 #define PYDBGMEM_ALLOC(runtime) \ 48 {&(runtime).allocators.debug.mem, _PyMem_DebugMalloc, _PyMem_DebugCalloc, _PyMem_DebugRealloc, _PyMem_DebugFree} 49 #define PYDBGOBJ_ALLOC(runtime) \ 50 {&(runtime).allocators.debug.obj, _PyMem_DebugMalloc, _PyMem_DebugCalloc, _PyMem_DebugRealloc, _PyMem_DebugFree} 51 52 extern void * _PyMem_ArenaAlloc(void *, size_t); 53 extern void _PyMem_ArenaFree(void *, void *, size_t); 54 55 #ifdef Py_DEBUG 56 # define _pymem_allocators_standard_INIT(runtime) \ 57 { \ 58 PYDBGRAW_ALLOC(runtime), \ 59 PYDBGMEM_ALLOC(runtime), \ 60 PYDBGOBJ_ALLOC(runtime), \ 61 } 62 #else 63 # define _pymem_allocators_standard_INIT(runtime) \ 64 { \ 65 PYRAW_ALLOC, \ 66 PYMEM_ALLOC, \ 67 PYOBJ_ALLOC, \ 68 } 69 #endif 70 71 #define _pymem_allocators_debug_INIT \ 72 { \ 73 {'r', PYRAW_ALLOC}, \ 74 {'m', PYMEM_ALLOC}, \ 75 {'o', PYOBJ_ALLOC}, \ 76 } 77 78 # define _pymem_allocators_obj_arena_INIT \ 79 { NULL, _PyMem_ArenaAlloc, _PyMem_ArenaFree } 80 81 82 #ifdef __cplusplus 83 } 84 #endif 85 #endif // !Py_INTERNAL_PYMEM_INIT_H
Contact us
|
About us
|
Term of use
|
Copyright © 2000-2025 MyWebUniversity.com ™