⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 aumalloc.h

📁 本程序为ST公司开发的源代码
💻 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 + -