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

📄 ttmemory.h

📁 神龙卡开发原代码
💻 H
字号:
/******************************************************************* * *  ttmemory.h                                               1.2 * *    Memory management component (specification). * *  Copyright 1996-1999 by *  David Turner, Robert Wilhelm, and Werner Lemberg. * *  This file is part of the FreeType project, and may only be used *  modified and distributed under the terms of the FreeType project *  license, LICENSE.TXT.  By continuing to use, modify, or distribute *  this file you indicate that you have read the license and *  understand and accept it fully. * *  Changes between 1.2 and 1.1: * *  - the font pool is gone!  All allocations are now performed *    with malloc() and free(). * *  - introduced the FREE() macro and the Free() function for *    future use in destructors. * *  - Init_FontPool() is now a macro to allow the compilation of *    'legacy' applications (all four test programs have been updated). * ******************************************************************/#ifndef TTMEMORY_H#define TTMEMORY_H#include "ttconfig.h"#include "tttypes.h"#include <string.h>#ifdef __cplusplus  extern "C" {#endif#define MEM_Set( dest, byte, count )  memset( dest, byte, count )#ifdef HAVE_MEMCPY#define MEM_Copy( dest, source, count )  memcpy( dest, source, count )#else#define MEM_Copy( dest, source, count )  bcopy( source, dest, count )#endif#ifdef HAVE_MEMMOVE#define MEM_Move( dest, source, count )  memmove( dest, source, count )#else#define MEM_Move( dest, source, count )  bcopy( source, dest, count )#endif#define MEM_Alloc( _pointer_, _size_ ) \  TT_Alloc( _size_, (void**)&(_pointer_) )#define MEM_Realloc( _pointer_, _size_ ) \  TT_Realloc( _size_, (void**)&(_pointer_) )#define ALLOC( _pointer_, _size_ ) \  ( ( error = MEM_Alloc( _pointer_, _size_ ) ) != TT_Err_Ok )#define ALLOC_ARRAY( _pointer_, _count_, _type_ ) \  ( ( error = MEM_Alloc( _pointer_, \                         (_count_) * sizeof ( _type_ ) ) ) != TT_Err_Ok )#define REALLOC( _pointer_, _size_ ) \  ( ( error = MEM_Realloc( _pointer_, _size_ ) ) != TT_Err_Ok )#define REALLOC_ARRAY( _pointer_, _count_, _type_ ) \  ( (error = MEM_Realloc( _pointer_, \                          (_count_) * sizeof ( _type_ ) ) ) != TT_Err_Ok )#define FREE( _pointer_ ) \  TT_Free( (void**)&(_pointer_) )  /* Allocate a block of memory of 'Size' bytes from the heap, and */  /* sets the pointer '*P' to its address.  If 'Size' is 0, or in  */  /* case of error, the pointer is always set to NULL.             */  EXPORT_DEF  TT_Error  TT_Alloc( ULong  Size, void**  P );#ifdef TT_CONFIG_OPTION_EXTEND_ENGINE  /* Reallocates a block of memory pointed to by '*P' to 'Size'    */  /* bytes from the heap, possibly changing '*P'.  If 'Size' is 0, */  /* TT_Free() is called, if '*P' is NULL, TT_Alloc() is called.   */  /* '*P' is freed (if it's non-NULL) in case of error.            */  EXPORT_DEF  TT_Error  TT_Realloc( ULong  Size, void**  P );#endif /* TT_CONFIG_OPTION_EXTEND_ENGINE */  /* Releases a block that was previously allocated through Alloc. */  /* Note that the function returns successfully when P or *P are  */  /* already NULL.  The pointer '*P' is set to NULL on exit in     */  /* case of success.                                              */  EXPORT_DEF  TT_Error  TT_Free( void**  P );  /* For "legacy" applications, that should be re-coded.              */  /* Note that this won't release the previously allocated font pool. */#define Init_FontPool( x, y )  while( 0 ) { }  LOCAL_DEF TT_Error  TTMemory_Init( void );  LOCAL_DEF TT_Error  TTMemory_Done( void );#ifdef __cplusplus  }#endif#endif /* TTMEMORY_H *//* END */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -