空操作内存分配器(mem0.c)

该分配器通常是一个占位符,以便SQLite能链接一些不使用malloc(),free()realloc()的自定义内存分配器。当需要调用一个分配器的时候,需要通过sqlite3_config()函数来配置。 特征:

  1. SQLITE_ZERO_MALLOC 利用该选项进行编译,缺省内存分配器就会失效。带SQLITE_ZERO_MALLOC选项编译的应用程序在使用SQLite之前,需要使用sqlite3_config(),结合SQLITE_CONFIG_MALLOCSQLITE_CONFIG_HEAP来指定新的可选内存分配器。
  2. 对函数的调用通常都会失败,并且返回0;

函数介绍:

static void *sqlite3MemMalloc(int nByte){ return 0; }  
static void sqlite3MemFree(void *pPrior){ return; }
static void *sqlite3MemRealloc(void *pPrior,int nByte){return 0;}
static int sqlite3MemSize(void *pPrior){ return 0; }
static int sqlite3MemRoundup(int n){ return n; }
static int sqlite3MemInit(void *NotUsed){ return SQLITE_OK; }
static void sqlite3MemShutdown(void *NotUsed){ return; }
void sqlite3MemSetDefault(void) //这个文件中唯一与外部联系的例程

results matching ""

    No results matching ""