📄 aumalloc.h
字号:
//*@@@+++@@@@******************************************************************//// Microsoft Windows Media// Copyright (C) Microsoft Corporation. All rights reserved.////*@@@---@@@@******************************************************************/*************************************************************************Copyright (C) Microsoft Corporation, 1996 - 1999Module Name: MsAudio.hAbstract: Implementation of public member functions for CAudioObject.Author: Wei-ge Chen (wchen) 11-March-1998Revision History:*************************************************************************/#ifndef __AUMALLOC_H_#define __AUMALLOC_H_//#define MALLOC() malloc()#include "os20.h"/*#define MALLOC(X) memory_allocate(internal_partition,X)#define FREE(X) memory_allocate(internal_partition,X)*/ //[LL] below changed to functions// ***********************************************#ifdef __cplusplusextern "C" { // only need to export C interface if // used by C++ source code#endif#include <stdio.h>#include <stdlib.h>#include "macros.h" // For IntW etc. Should be replaced with smaller file // ----- Memory Allocation Functions -----typedef enum {MAS_ALLOCATE, MAS_LOCKED, MAS_DELETE} MEMALLOCSTATE;I32 auMallocGetCount(void);void auMallocSetState(const MEMALLOCSTATE maState, void *pBuf, const U32 iBufSize);#ifndef WANT_HEAP_MEASURE//mallocAligned allocates a buffer of size (+iAlignToBytes for allignment padding) bytes //which is alligned on an iAllignToBytes byte boundary//the buffer must be deallocated using freeAligned//and it is only safe to use size bytes as the padding could be at the begining or endingvoid *mallocAligned(size_t size,IntW iAlignToBytes);void freeAligned(void *ptr);void *auMalloc(const size_t iSize);void auFree(void *pFree);#define START_MEASURE_MEM(log_file)#define WRITE_MEM_LOG() #define GET_MEM_STATS(PeakHeapSize, MemLeakSize)#elsevoid * prvMalloc(size_t pSize, char *pFile, int pLine, int category);void prvFree(void *pMem, char *pFile, int pLine);void * prvMallocAligned(size_t size, IntW iAlignToBytes, char *pFile, int pLine);void prvFreeAligned(void *ptr, char *pFile, int pLine);void * prvRegAllocMem(void *new_ptr, size_t pSize, char *pFile, int pLine, int category);void prvUnregAllocMem(void *lpMem, char *pFile, int pLine);void prvGetMemStats(size_t *PeakHeapSize, size_t *MemLeakSize);#define auMalloc(size) \ prvMalloc(size, __FILE__, __LINE__, 0) #define auFree(free_ptr) \ prvFree(free_ptr, __FILE__, __LINE__)/*#define WMAREGALLOCMEM(lpMem, size, category) \ prvRegAllocMem(lpMem, size, __FILE__, __LINE__, category)#define WMVAUNREGALLOCMEM(free_ptr) \ prvUnregAllocMem(free_ptr, __FILE__, __LINE__)*/#define mallocAligned(size, iAlignToBytes) \ prvMallocAligned(size, iAlignToBytes, __FILE__, __LINE__);#define freeAligned(free_ptr) \ prvFreeAligned(free_ptr, __FILE__, __LINE__)int prvWriteMemTraceLog();void prvHeapMeasureStart(const char *log_file);#define START_MEASURE_MEM(log_file) prvHeapMeasureStart(log_file);#define WRITE_MEM_LOG() prvWriteMemTraceLog();#define GET_MEM_STATS(PeakHeapSize, MemLeakSize) prvGetMemStats(PeakHeapSize, MemLeakSize);#endif //WANT_HEAP_MEASURE#ifdef __cplusplus}#endif#endif //__AUMALLOC_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -