这篇教程C++ zmalloc_size函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中zmalloc_size函数的典型用法代码示例。如果您正苦于以下问题:C++ zmalloc_size函数的具体用法?C++ zmalloc_size怎么用?C++ zmalloc_size使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了zmalloc_size函数的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: zmalloc_sizevoid *zrealloc(void *ptr, size_t size) {#ifndef HAVE_MALLOC_SIZE void *realptr;#endif size_t oldsize; void *newptr; if (ptr == NULL) return zmalloc(size);#ifdef HAVE_MALLOC_SIZE oldsize = zmalloc_size(ptr); newptr = realloc(ptr,size); if (!newptr) zmalloc_oom(size); update_zmalloc_stat_free(oldsize); update_zmalloc_stat_alloc(zmalloc_size(newptr),size); return newptr;#else realptr = (char*)ptr-PREFIX_SIZE; oldsize = *((size_t*)realptr); newptr = realloc(realptr,size+PREFIX_SIZE); if (!newptr) zmalloc_oom(size); *((size_t*)newptr) = size; update_zmalloc_stat_free(oldsize); update_zmalloc_stat_alloc(size,size); return (char*)newptr+PREFIX_SIZE;#endif}
开发者ID:lubing521,项目名称:QQNetwork,代码行数:28,
示例2: callocvoid *zcalloc(size_t size) { void *ptr = calloc(1, size+PREFIX_SIZE); if (!ptr) zmalloc_oom(size);#ifdef HAVE_MALLOC_SIZE update_zmalloc_stat_alloc(zmalloc_size(ptr),size); return ptr;#else *((size_t*)ptr) = size; update_zmalloc_stat_alloc(size+PREFIX_SIZE,size); return (char*)ptr+PREFIX_SIZE;#endif}
开发者ID:lubing521,项目名称:QQNetwork,代码行数:13,
示例3: callocvoid *zcalloc(size_t size) { void *ptr = calloc(1, size+PREFIX_SIZE); if (!ptr) zmalloc_oom_handler(size);//输出错误 #ifdef HAVE_MALLOC_SIZE update_zmalloc_stat_alloc(zmalloc_size(ptr));//更新内存使用统计 return ptr;#else *((size_t*)ptr) = size; update_zmalloc_stat_alloc(size+PREFIX_SIZE);//更新内存使用统计 return (char*)ptr+PREFIX_SIZE;#endif}
开发者ID:jango2015,项目名称:appnet_php7,代码行数:13,
示例4: pthread_mutex_initvoid *zrealloc(void *ptr, size_t size) {#ifndef HAVE_MALLOC_SIZE void *realptr;#endif size_t oldsize; void *newptr;#ifdef WIN32 if ( mutex_initialized == 0 ) { pthread_mutex_init(&used_memory_mutex, NULL ); mutex_initialized = 1 ; }#endif if (ptr == NULL) return zmalloc(size);#ifdef HAVE_MALLOC_SIZE oldsize = zmalloc_size(ptr); newptr = realloc(ptr,size); if (!newptr) zmalloc_oom_handler(size); update_zmalloc_stat_free(oldsize); update_zmalloc_stat_alloc(zmalloc_size(newptr),size); return newptr;#else realptr = (char*)ptr-PREFIX_SIZE; oldsize = *((size_t*)realptr); newptr = realloc(realptr,size+PREFIX_SIZE); if (!newptr) zmalloc_oom_handler(size); *((size_t*)newptr) = size; update_zmalloc_stat_free(oldsize); update_zmalloc_stat_alloc(size,size); return (char*)newptr+PREFIX_SIZE;#endif}
开发者ID:davinash,项目名称:redis-win,代码行数:36,
示例5: zfreevoid zfree(void *ptr) {#ifndef HAVE_MALLOC_SIZE void *realptr; size_t oldsize;#endif if (ptr == NULL) return;#ifdef HAVE_MALLOC_SIZE update_zmalloc_stat_free(zmalloc_size(ptr)); free(ptr);#else realptr = (char*)ptr-PREFIX_SIZE; oldsize = *((size_t*)realptr); update_zmalloc_stat_free(oldsize+PREFIX_SIZE); free(realptr);#endif}
开发者ID:jango2015,项目名称:appnet_php7,代码行数:16,
示例6: mallocvoid *zmalloc(size_t size){ void *ptr = malloc(size+PREFIX_SIZE); if (!ptr) { zmalloc_oom_handler(size); }#ifdef HAVE_MALLOC_SIZE update_zmalloc_stat_alloc(zmalloc_size(ptr)); return ptr;#else *((size_t*)ptr) = size; update_zmalloc_stat_alloc(size+PREFIX_SIZE); return (char*)ptr+PREFIX_SIZE;#endif}
开发者ID:dormscript,项目名称:appnet_php7,代码行数:16,
示例7: calloc/* 调用系统函数calloc函数申请空间 */void *zcalloc(size_t size) { //calloc与malloc的意思一样,不过参数不一样 //void *calloc(size_t numElements,size_t sizeOfElement),;numElements * sizeOfElement才是最终的内存的大小 //所在这里就是申请一块大小为size+PREFIX_SIZE的空间 void *ptr = calloc(1, size+PREFIX_SIZE); if (!ptr) zmalloc_oom_handler(size);#ifdef HAVE_MALLOC_SIZE update_zmalloc_stat_alloc(zmalloc_size(ptr)); return ptr;#else *((size_t*)ptr) = size; update_zmalloc_stat_alloc(size+PREFIX_SIZE); return (char*)ptr+PREFIX_SIZE;#endif}
开发者ID:AplayER,项目名称:Redis-Code,代码行数:17,
示例8: malloc/* 调用zmalloc申请size个大小的空间 */void *zmalloc(size_t size) { //实际调用的还是malloc函数 void *ptr = malloc(size+PREFIX_SIZE); //如果申请的结果为null,说明发生了oom,调用oom的处理方法 if (!ptr) zmalloc_oom_handler(size);#ifdef HAVE_MALLOC_SIZE //更新used_memory的大小 update_zmalloc_stat_alloc(zmalloc_size(ptr)); return ptr;#else *((size_t*)ptr) = size; update_zmalloc_stat_alloc(size+PREFIX_SIZE); return (char*)ptr+PREFIX_SIZE;#endif}
开发者ID:AplayER,项目名称:Redis-Code,代码行数:17,
示例9: callocvoid *zcalloc(size_t size) { void *ptr = calloc(1, size+PREFIX_SIZE);#ifdef WIN32 if ( mutex_initialized == 0 ) { pthread_mutex_init(&used_memory_mutex, NULL ); mutex_initialized = 1 ; }#endif if (!ptr) zmalloc_oom_handler(size);#ifdef HAVE_MALLOC_SIZE update_zmalloc_stat_alloc(zmalloc_size(ptr),size); return ptr;#else *((size_t*)ptr) = size; update_zmalloc_stat_alloc(size+PREFIX_SIZE,size); return (char*)ptr+PREFIX_SIZE;#endif}
开发者ID:davinash,项目名称:redis-win,代码行数:19,
示例10: zmalloc_size_sds/* To evaluate the output buffer size of a client we need to get size of * allocated objects, however we can't used zmalloc_size() directly on sds * strings because of the trick they use to work (the header is before the * returned pointer), so we use this helper function. */size_t zmalloc_size_sds(sds s) { return zmalloc_size(s-sizeof(struct sdshdr));}
开发者ID:DavidAlphaFox,项目名称:redis,代码行数:7,
示例11: zmalloc_usablesize_t zmalloc_usable(void *ptr) { return zmalloc_size(ptr)-PREFIX_SIZE;}
开发者ID:hylaz,项目名称:redis,代码行数:3,
示例12: zfree_no_tcachevoid zfree_no_tcache(void *ptr) { if (ptr == NULL) return; update_zmalloc_stat_free(zmalloc_size(ptr)); dallocx(ptr, MALLOCX_TCACHE_NONE);}
开发者ID:hylaz,项目名称:redis,代码行数:5,
示例13: mallocxvoid *zmalloc_no_tcache(size_t size) { void *ptr = mallocx(size+PREFIX_SIZE, MALLOCX_TCACHE_NONE); if (!ptr) zmalloc_oom_handler(size); update_zmalloc_stat_alloc(zmalloc_size(ptr)); return ptr;}
开发者ID:hylaz,项目名称:redis,代码行数:6,
注:本文中的zmalloc_size函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ zmq_assert函数代码示例 C++ zmalloc函数代码示例 |