📄 7zalloc.c
字号:
/* 7zAlloc.c */#include <stdlib.h>#include "7zAlloc.h"/* #define _SZ_ALLOC_DEBUG *//* use _SZ_ALLOC_DEBUG to debug alloc/free operations */#ifdef _SZ_ALLOC_DEBUG#ifdef _WIN32#include <windows.h>#endif#include <stdio.h>int g_allocCount = 0;int g_allocCountTemp = 0;#endifvoid *SzAlloc(size_t size){ if (size == 0) return 0; #ifdef _SZ_ALLOC_DEBUG fprintf(stderr, "\nAlloc %10d bytes; count = %10d", size, g_allocCount); g_allocCount++; #endif return malloc(size);}void SzFree(void *address){ #ifdef _SZ_ALLOC_DEBUG if (address != 0) { g_allocCount--; fprintf(stderr, "\nFree; count = %10d", g_allocCount); } #endif free(address);}void *SzAllocTemp(size_t size){ if (size == 0) return 0; #ifdef _SZ_ALLOC_DEBUG fprintf(stderr, "\nAlloc_temp %10d bytes; count = %10d", size, g_allocCountTemp); g_allocCountTemp++; #ifdef _WIN32 return HeapAlloc(GetProcessHeap(), 0, size); #endif #endif return malloc(size);}void SzFreeTemp(void *address){ #ifdef _SZ_ALLOC_DEBUG if (address != 0) { g_allocCountTemp--; fprintf(stderr, "\nFree_temp; count = %10d", g_allocCountTemp); } #ifdef _WIN32 HeapFree(GetProcessHeap(), 0, address); return; #endif #endif free(address);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -