|
RAM: 该库的 RAM 要求主要取决于使用的字体。 TTF 引擎的基本 RAM 要求大约为 50 K。在
使用 GUI_TTF_CreateFont() 创建 GUI 字体时,字体引擎会加载生成字符所需的 TTF 文件中
定义的所有字体表。不同字体之间的表大小有所差异。创建字体额外要求的 RAM 量可能介于几
个 KB 到 1 MB 以上之间。一般字体需要 80-300 kb。取决于使用的字体文件需要多少 RAM。
至少,TTF 引擎需要位图缓存。默认情况下,引擎使用 200 K 的缓存。足够大多数应用使用。
TTF 引擎通过非 emWin 函数 malloc() 和 free() 分配内存。使用 TTF 引擎之前,必须确保能
够运行这些函数。
void *MYmalloc(unsigned int num_bytes)
{
GUI_HMEM h = GUI_ALLOC_AllocZero((unsigned int) num_bytes);
void *p = GUI_ALLOC_h2p(h);
return p;
}
void *MYcalloc(size_t n, size_t size)
{
}
void *MYrealloc(void *mem_address, unsigned int newsize)
{
GUI_HMEM h = GUI_ALLOC_p2h(mem_address);
GUI_HMEM h0 = GUI_ALLOC_Realloc(h, (int) newsize);
void *p = GUI_ALLOC_h2p(h0);
return p;
}
void MYfree(void *ptr)
{
GUI_HMEM h = GUI_ALLOC_p2h((void *)ptr);
GUI_ALLOC_Free(h);
}
看手册上写的 突然看到硬汉老大的资料 我用以上GUI函数 代替库函数 并替换
/**********************************************************************/
/* */
/* memory allocation */
/* */
/**********************************************************************/
//void *MYmalloc(unsigned int num_bytes);
//void *MYcalloc(size_t n, size_t size);
//void *MYrealloc(void *mem_address, unsigned int newsize);
//void MYfree(void *ptr);
#define ft_scalloc calloc
#define ft_sfree MYfree//free
#define ft_smalloc MYmalloc//malloc
#define ft_srealloc MYrealloc//realloc
|
评分
-
查看全部评分
|