亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? malloc.c

?? DL內存分配算法
?? C
?? 第 1 頁 / 共 5 頁
字號:
/*  INTERNAL_SIZE_T is the word-size used for internal bookkeeping  of chunk sizes.  The default version is the same as size_t.  While not strictly necessary, it is best to define this as an  unsigned type, even if size_t is a signed type. This may avoid some  artificial size limitations on some systems.  On a 64-bit machine, you may be able to reduce malloc overhead by  defining INTERNAL_SIZE_T to be a 32 bit `unsigned int' at the  expense of not being able to handle more than 2^32 of malloced  space. If this limitation is acceptable, you are encouraged to set  this unless you are on a platform requiring 16byte alignments. In  this case the alignment requirements turn out to negate any  potential advantages of decreasing size_t word size.  Implementors: Beware of the possible combinations of:     - INTERNAL_SIZE_T might be signed or unsigned, might be 32 or 64 bits,       and might be the same width as int or as long     - size_t might have different width and signedness as INTERNAL_SIZE_T     - int and long might be 32 or 64 bits, and might be the same width  To deal with this, most comparisons and difference computations  among INTERNAL_SIZE_Ts should cast them to CHUNK_SIZE_T, being  aware of the fact that casting an unsigned int to a wider long does  not sign-extend. (This also makes checking for negative numbers  awkward.) Some of these casts result in harmless compiler warnings  on some systems.*/#ifndef INTERNAL_SIZE_T#define INTERNAL_SIZE_T size_t#endif/* The corresponding word size */#define SIZE_SZ                (sizeof(INTERNAL_SIZE_T))/*  MALLOC_ALIGNMENT is the minimum alignment for malloc'ed chunks.  It must be a power of two at least 2 * SIZE_SZ, even on machines  for which smaller alignments would suffice. It may be defined as  larger than this though. Note however that code and data structures  are optimized for the case of 8-byte alignment.*/#ifndef MALLOC_ALIGNMENT#define MALLOC_ALIGNMENT       (2 * SIZE_SZ)#endif/* The corresponding bit mask value */#define MALLOC_ALIGN_MASK      (MALLOC_ALIGNMENT - 1)/*  REALLOC_ZERO_BYTES_FREES should be set if a call to  realloc with zero bytes should be the same as a call to free.  Some people think it should. Otherwise, since this malloc  returns a unique pointer for malloc(0), so does realloc(p, 0).*//*   #define REALLOC_ZERO_BYTES_FREES *//*  TRIM_FASTBINS controls whether free() of a very small chunk can  immediately lead to trimming. Setting to true (1) can reduce memory  footprint, but will almost always slow down programs that use a lot  of small chunks.  Define this only if you are willing to give up some speed to more  aggressively reduce system-level memory footprint when releasing  memory in programs that use many small chunks.  You can get  essentially the same effect by setting MXFAST to 0, but this can  lead to even greater slowdowns in programs using many small chunks.  TRIM_FASTBINS is an in-between compile-time option, that disables  only those chunks bordering topmost memory from being placed in  fastbins.*/#ifndef TRIM_FASTBINS#define TRIM_FASTBINS  0#endif/*  USE_DL_PREFIX will prefix all public routines with the string 'dl'.  This is necessary when you only want to use this malloc in one part   of a program, using your regular system malloc elsewhere.*//* #define USE_DL_PREFIX *//*  USE_MALLOC_LOCK causes wrapper functions to surround each  callable routine with pthread mutex lock/unlock.  USE_MALLOC_LOCK forces USE_PUBLIC_MALLOC_WRAPPERS to be defined*//* #define USE_MALLOC_LOCK *//*  If USE_PUBLIC_MALLOC_WRAPPERS is defined, every public routine is  actually a wrapper function that first calls MALLOC_PREACTION, then  calls the internal routine, and follows it with  MALLOC_POSTACTION. This is needed for locking, but you can also use  this, without USE_MALLOC_LOCK, for purposes of interception,  instrumentation, etc. It is a sad fact that using wrappers often  noticeably degrades performance of malloc-intensive programs.*/#ifdef USE_MALLOC_LOCK#define USE_PUBLIC_MALLOC_WRAPPERS#else/* #define USE_PUBLIC_MALLOC_WRAPPERS */#endif/*    Two-phase name translation.   All of the actual routines are given mangled names.   When wrappers are used, they become the public callable versions.   When DL_PREFIX is used, the callable names are prefixed.*/#ifndef USE_PUBLIC_MALLOC_WRAPPERS#define cALLOc      public_cALLOc#define fREe        public_fREe#define cFREe       public_cFREe#define mALLOc      public_mALLOc#define mEMALIGn    public_mEMALIGn#define rEALLOc     public_rEALLOc#define vALLOc      public_vALLOc#define pVALLOc     public_pVALLOc#define mALLINFo    public_mALLINFo#define mALLOPt     public_mALLOPt#define mTRIm       public_mTRIm#define mSTATs      public_mSTATs#define mUSABLe     public_mUSABLe#define iCALLOc     public_iCALLOc#define iCOMALLOc   public_iCOMALLOc#endif#ifdef USE_DL_PREFIX#define public_cALLOc    dlcalloc#define public_fREe      dlfree#define public_cFREe     dlcfree#define public_mALLOc    dlmalloc#define public_mEMALIGn  dlmemalign#define public_rEALLOc   dlrealloc#define public_vALLOc    dlvalloc#define public_pVALLOc   dlpvalloc#define public_mALLINFo  dlmallinfo#define public_mALLOPt   dlmallopt#define public_mTRIm     dlmalloc_trim#define public_mSTATs    dlmalloc_stats#define public_mUSABLe   dlmalloc_usable_size#define public_iCALLOc   dlindependent_calloc#define public_iCOMALLOc dlindependent_comalloc#else /* USE_DL_PREFIX */#define public_cALLOc    calloc#define public_fREe      free#define public_cFREe     cfree#define public_mALLOc    malloc#define public_mEMALIGn  memalign#define public_rEALLOc   realloc#define public_vALLOc    valloc#define public_pVALLOc   pvalloc#define public_mALLINFo  mallinfo#define public_mALLOPt   mallopt#define public_mTRIm     malloc_trim#define public_mSTATs    malloc_stats#define public_mUSABLe   malloc_usable_size#define public_iCALLOc   independent_calloc#define public_iCOMALLOc independent_comalloc#endif /* USE_DL_PREFIX *//*  HAVE_MEMCPY should be defined if you are not otherwise using  ANSI STD C, but still have memcpy and memset in your C library  and want to use them in calloc and realloc. Otherwise simple  macro versions are defined below.  USE_MEMCPY should be defined as 1 if you actually want to  have memset and memcpy called. People report that the macro  versions are faster than libc versions on some systems.    Even if USE_MEMCPY is set to 1, loops to copy/clear small chunks  (of <= 36 bytes) are manually unrolled in realloc and calloc.*/#define HAVE_MEMCPY#ifndef USE_MEMCPY#ifdef HAVE_MEMCPY#define USE_MEMCPY 1#else#define USE_MEMCPY 0#endif#endif#if (__STD_C || defined(HAVE_MEMCPY))#ifdef WIN32/* On Win32 memset and memcpy are already declared in windows.h */#else#if __STD_Cvoid* memset(void*, int, size_t);void* memcpy(void*, const void*, size_t);#elseVoid_t* memset();Void_t* memcpy();#endif#endif#endif/*  MALLOC_FAILURE_ACTION is the action to take before "return 0" when  malloc fails to be able to return memory, either because memory is  exhausted or because of illegal arguments.    By default, sets errno if running on STD_C platform, else does nothing.  */#ifndef MALLOC_FAILURE_ACTION#if __STD_C#define MALLOC_FAILURE_ACTION \   errno = ENOMEM;#else#define MALLOC_FAILURE_ACTION#endif#endif/*  MORECORE-related declarations. By default, rely on sbrk*/#ifdef LACKS_UNISTD_H#if !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined(__NetBSD__)#if __STD_Cextern Void_t*     sbrk(ptrdiff_t);#elseextern Void_t*     sbrk();#endif#endif#endif/*  MORECORE is the name of the routine to call to obtain more memory  from the system.  See below for general guidance on writing  alternative MORECORE functions, as well as a version for WIN32 and a  sample version for pre-OSX macos.*/#ifndef MORECORE#define MORECORE sbrk#endif/*  MORECORE_FAILURE is the value returned upon failure of MORECORE  as well as mmap. Since it cannot be an otherwise valid memory address,  and must reflect values of standard sys calls, you probably ought not  try to redefine it.*/#ifndef MORECORE_FAILURE#define MORECORE_FAILURE (-1)#endif/*  If MORECORE_CONTIGUOUS is true, take advantage of fact that  consecutive calls to MORECORE with positive arguments always return  contiguous increasing addresses.  This is true of unix sbrk.  Even  if not defined, when regions happen to be contiguous, malloc will  permit allocations spanning regions obtained from different  calls. But defining this when applicable enables some stronger  consistency checks and space efficiencies. */#ifndef MORECORE_CONTIGUOUS#define MORECORE_CONTIGUOUS 1#endif/*  Define MORECORE_CANNOT_TRIM if your version of MORECORE  cannot release space back to the system when given negative  arguments. This is generally necessary only if you are using  a hand-crafted MORECORE function that cannot handle negative arguments.*//* #define MORECORE_CANNOT_TRIM *//*  Define HAVE_MMAP as true to optionally make malloc() use mmap() to  allocate very large blocks.  These will be returned to the  operating system immediately after a free(). Also, if mmap  is available, it is used as a backup strategy in cases where  MORECORE fails to provide space from system.  This malloc is best tuned to work with mmap for large requests.  If you do not have mmap, operations involving very large chunks (1MB  or so) may be slower than you'd like.*/#ifndef HAVE_MMAP#define HAVE_MMAP 1#endif#if HAVE_MMAP/*    Standard unix mmap using /dev/zero clears memory so calloc doesn't   need to.*/#ifndef MMAP_CLEARS#define MMAP_CLEARS 1#endif#else /* no mmap */#ifndef MMAP_CLEARS#define MMAP_CLEARS 0#endif#endif/*    MMAP_AS_MORECORE_SIZE is the minimum mmap size argument to use if   sbrk fails, and mmap is used as a backup (which is done only if   HAVE_MMAP).  The value must be a multiple of page size.  This   backup strategy generally applies only when systems have "holes" in   address space, so sbrk cannot perform contiguous expansion, but   there is still space available on system.  On systems for which   this is known to be useful (i.e. most linux kernels), this occurs   only when programs allocate huge amounts of memory.  Between this,   and the fact that mmap regions tend to be limited, the size should   be large, to avoid too many mmap calls and thus avoid running out   of kernel resources.*/#ifndef MMAP_AS_MORECORE_SIZE#define MMAP_AS_MORECORE_SIZE (1024 * 1024)#endif/*  Define HAVE_MREMAP to make realloc() use mremap() to re-allocate  large blocks.  This is currently only possible on Linux with  kernel versions newer than 1.3.77.*/#ifndef HAVE_MREMAP#ifdef linux#define HAVE_MREMAP 1#else#define HAVE_MREMAP 0#endif#endif /* HAVE_MMAP *//*  The system page size. To the extent possible, this malloc manages  memory from the system in page-size units.  Note that this value is  cached during initialization into a field of malloc_state. So even  if malloc_getpagesize is a function, it is only called once.  The following mechanics for getpagesize were adapted from bsd/gnu  getpagesize.h. If none of the system-probes here apply, a value of  4096 is used, which should be OK: If they don't apply, then using  the actual value probably doesn't impact performance.*/#ifndef malloc_getpagesize

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产一区视频| 91在线视频免费观看| 欧美日韩国产中文| 亚洲一区二区四区蜜桃| 欧美视频在线观看一区二区| 亚洲成人动漫av| 日韩色在线观看| 国产成人av影院| 亚洲精品成人在线| 欧美精品三级日韩久久| 国产一区二区在线观看免费| 欧美激情一区二区| 欧美性生活一区| 九九视频精品免费| 亚洲欧洲精品一区二区精品久久久| 91丨九色丨尤物| 奇米综合一区二区三区精品视频 | 精品国产精品网麻豆系列| 激情综合一区二区三区| 中文字幕日韩精品一区| 91精品国产高清一区二区三区蜜臀 | 国产一区二区三区观看| 国产精品国产三级国产| 欧美日韩免费一区二区三区视频| 蜜乳av一区二区三区| 中文字幕的久久| 欧美一区二区三级| 91老司机福利 在线| 国产自产v一区二区三区c| 一区二区在线观看视频在线观看| 欧美精品一区二区三区四区| 色综合中文字幕国产| 91视频免费观看| 国产精品一色哟哟哟| 亚洲bt欧美bt精品777| 中文字幕av资源一区| 欧美一级一区二区| 在线亚洲高清视频| 成人夜色视频网站在线观看| 免费成人在线视频观看| 亚洲国产综合视频在线观看| 国产精品乱人伦一区二区| 日韩欧美一区二区久久婷婷| 欧美性videosxxxxx| 一本一道综合狠狠老| 成人毛片视频在线观看| 国产一区二区电影| 久久99国产精品尤物| 欧美a级理论片| 日韩制服丝袜先锋影音| 亚洲综合一二区| 亚洲精品国产一区二区三区四区在线| 国产欧美一区二区精品久导航 | 91丨九色丨国产丨porny| 美国毛片一区二区三区| 亚洲国产中文字幕在线视频综合 | 一区二区三区在线高清| 中文字幕欧美一| 国产精品国产三级国产专播品爱网| 久久久久久久综合日本| 久久亚洲综合av| 久久久99精品免费观看不卡| 日韩欧美国产午夜精品| 91精品国产色综合久久| 欧美一级生活片| 日韩欧美国产1| 欧美精品一区二区三区久久久| 日韩欧美国产电影| 26uuu国产电影一区二区| 久久久www成人免费无遮挡大片| 久久综合九色综合97婷婷女人| 精品伦理精品一区| 久久久久久97三级| 国产精品欧美一级免费| 自拍偷拍欧美激情| 亚洲一二三级电影| 日本中文字幕一区二区视频| 蜜桃视频一区二区| 国产一区二区久久| 99精品黄色片免费大全| 在线一区二区三区四区| 91麻豆精品国产自产在线 | 免费成人在线影院| 精品一区二区av| 国产精品99久久久久| 99久久精品国产麻豆演员表| 91福利在线导航| 欧美精品一区二区三区一线天视频 | 国产美女精品人人做人人爽| 丁香婷婷综合五月| 在线观看欧美黄色| 日韩一级视频免费观看在线| 久久尤物电影视频在线观看| 国产精品久久久久国产精品日日| 一区二区三区久久| 精品一区二区三区久久| 91一区在线观看| 日韩一级免费观看| √…a在线天堂一区| 午夜不卡av在线| 国产91精品精华液一区二区三区| 91福利在线免费观看| 久久蜜臀精品av| 亚洲成av人影院在线观看网| 国产精品99久久久久久宅男| 欧美精品一二三| 亚洲欧洲av色图| 精品夜夜嗨av一区二区三区| 一本一道久久a久久精品综合蜜臀| 日韩亚洲欧美一区| 一区二区三区**美女毛片| 久久aⅴ国产欧美74aaa| 欧美日韩精品一区二区三区蜜桃 | 国产精品高清亚洲| 麻豆精品视频在线观看免费| 99麻豆久久久国产精品免费优播| 欧美一区二区三区四区五区| 亚洲精品日韩专区silk| 成人小视频免费观看| 日韩欧美亚洲另类制服综合在线| 一区二区三区欧美视频| 99久久国产综合精品麻豆| 久久色在线观看| 黄色资源网久久资源365| 91精品国产综合久久久久久久久久 | 中文字幕一区av| 国产一区二区电影| 日韩欧美一区二区免费| 婷婷六月综合亚洲| 欧美日韩专区在线| 亚洲视频在线一区| 99天天综合性| 国产精品久久久久久久久久免费看| 国产在线视频一区二区三区| 日韩无一区二区| 麻豆精品视频在线观看| 日韩欧美一级特黄在线播放| 免费欧美高清视频| 欧美一区二区三区四区久久| 亚洲成人在线免费| 欧美猛男超大videosgay| 亚洲成av人片在www色猫咪| 欧美性受xxxx黑人xyx性爽| 亚洲国产日韩精品| 欧美一区二区在线不卡| 日韩精彩视频在线观看| 欧美一区二区在线播放| 韩国女主播一区二区三区| 欧美精品一区二区三区很污很色的| 久久99国产精品麻豆| 久久这里只有精品6| 成人美女在线视频| 亚洲日本在线a| 欧美日韩一区在线观看| 午夜精品123| 精品处破学生在线二十三| 国产精品一区二区免费不卡| 国产精品久久久久一区| 色94色欧美sute亚洲13| 日韩成人伦理电影在线观看| 久久一区二区视频| 色悠悠久久综合| 久久精品国产亚洲a| 国产欧美一区二区精品性色超碰 | 日本不卡一二三区黄网| 欧美精品一区二区三区在线播放| 国产91精品露脸国语对白| 一区二区免费在线| 精品国产一区二区三区久久久蜜月 | 亚洲黄色小说网站| 欧美一区二区成人6969| 国产二区国产一区在线观看| 自拍偷拍亚洲激情| 精品国产一区二区三区av性色| 成人av电影在线网| 日本在线不卡视频| 中文字幕亚洲电影| 欧美一级在线免费| 93久久精品日日躁夜夜躁欧美| 午夜欧美视频在线观看| 欧美韩国日本一区| 欧美日韩国产综合久久| 不卡视频在线看| 久久草av在线| 亚洲午夜一区二区| 久久久久久久久久久黄色| 欧美综合欧美视频| 国产成人aaa| 精品影院一区二区久久久| 亚洲综合激情网| 国产精品久久久99| 久久久.com| 欧美tk丨vk视频| 欧美精品日日鲁夜夜添| 色综合天天视频在线观看| 国产在线精品一区在线观看麻豆| 一区二区免费在线播放| 国产精品久久久久影视| 久久久久青草大香线综合精品| 91精品国产91综合久久蜜臀|