硬汉嵌入式论坛

 找回密码
 立即注册
查看: 12791|回复: 4
收起左侧

[emWin] TTF字体学习 freetype 调用emwin ALLOC 测试

[复制链接]

1

主题

2

回帖

10

积分

新手上路

积分
10
发表于 2018-3-26 22:10:12 | 显示全部楼层 |阅读模式

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
指针.png
25.png








评分

参与人数 1金币 +100 收起 理由
eric2013 + 100 很给力!

查看全部评分

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2018-3-26 22:13:12 | 显示全部楼层
非常感谢楼主分享这种方式,这样就不用再去折腾启动文件的heap空间了
回复

使用道具 举报

36

主题

2039

回帖

2147

积分

至尊会员

积分
2147
发表于 2018-3-30 11:40:26 | 显示全部楼层
Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better.
回复

使用道具 举报

39

主题

928

回帖

1050

积分

至尊会员

积分
1050
发表于 2019-5-5 20:19:03 | 显示全部楼层
顶一下,解决了我一个问题,感谢
回复

使用道具 举报

0

主题

28

回帖

28

积分

新手上路

积分
28
发表于 2021-3-16 11:34:48 | 显示全部楼层
谢谢分享,学习学习。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-29 07:13 , Processed in 0.293754 second(s), 32 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表