当前位置: 首页 > news >正文

北京 集团公司网站建设邢台网站设计怎么做

北京 集团公司网站建设,邢台网站设计怎么做,网站后台管理怎么进,如何在服务器上做网站文章目录 RT-Thread 堆内存 检查命令 free 实现及介绍rt_memory_info 函数验证 RT-Thread 堆内存 检查命令 free 实现及介绍 在RT-Thread系统中,通常可以通过rt_memory_info函数获取当前的堆内存使用信息,然后你可以包装这个函数来显示剩余的堆空间。rt…

文章目录

    • RT-Thread 堆内存 检查命令 free 实现及介绍
      • rt_memory_info 函数验证

RT-Thread 堆内存 检查命令 free 实现及介绍

在RT-Thread系统中,通常可以通过rt_memory_info函数获取当前的堆内存使用信息,然后你可以包装这个函数来显示剩余的堆空间。rt_memory_info实现见:
rt-thread/src/mem.c:

void rt_memory_info(rt_uint32_t *total,rt_uint32_t *used,rt_uint32_t *max_used)
{if (total != RT_NULL)*total = mem_size_aligned;if (used  != RT_NULL)*used = used_mem;if (max_used != RT_NULL)*max_used = max_mem;
}

rt-thread 中其实已经实现了cmd_free 函数,可以使用这个函数来查看当前堆的使用情况:

#ifdef RT_USING_HEAP
int cmd_free(int argc, char **argv)
{rt_uint32_t total = 0, used = 0, max_used = 0;rt_memory_info(&total, &used, &max_used);rt_kprintf("total   : %d\n", total);rt_kprintf("used    : %d\n", used);rt_kprintf("maximum : %d\n", max_used);return 0;
}
MSH_CMD_EXPORT_ALIAS(cmd_free, free, Show the memory usage in the system.);
#endif /* RT_USING_HEAP */

所以在终端执行free 命令即可查看堆的使用情况:

msh >help
RT-Thread shell commands:
list             - list all commands in system
list_timer       - list timer in system
list_mempool     - list memory pool in system
list_memheap     - list memory heap in system
list_msgqueue    - list message queue in system
list_mailbox     - list mail box in system
list_mutex       - list mutex in system
list_event       - list event in system
list_sem         - list semaphore in system
list_thread      - list thread
version          - show RT - Thread version information
clear            - clear the terminal screen
hello            - say hello world
free             - Show the memory usage in the system.
ps               - List threads in the system.
help             - RT - Thread shell help.

rt_memory_info 函数验证

如下实现了一个测试函数,在函数开始的时候查看当前堆使用了多少,然后再进行rt_malloc(1024) 之后再查看下堆使用了多少,通过前后对比可以看出rt_memory_info函数获取的信息是否正确。

#include <rtthread.h>
#include <pthread.h>#define TEST_MALLOC_SIZE        1024static int mem_check_test(void)
{char *ptr = RT_NULL;rt_uint32_t total = 0, used_pre = 0, max_used = 0;rt_uint32_t used_next = 0;rt_memory_info(&total, &used_pre, &max_used);ptr = (char *)rt_malloc(TEST_MALLOC_SIZE);if (ptr == RT_NULL) {rt_kprintf("mem check test failed\n");return -RT_ENOMEM;}rt_memory_info(&total, &used_next, &max_used);if ((used_next - used_pre) != TEST_MALLOC_SIZE + 16) {rt_kprintf("mem check test failed\n""mem used_pre: %d, mem used_next:%d\n",used_pre, used_next);rt_free(ptr);return -RT_ERROR;}rt_kprintf("mem check test ok\n");rt_free(ptr);return RT_EOK;
}
INIT_APP_EXPORT(mem_check_test);

关于free命令的本地测试如下:
在这里插入图片描述
通过执行free命令之后可以看到一共有多少heap和已经使用了多少。

通常需要在跑完测试用例后不能影响heap的大小,简单点说就是你的测试case不能导致内存泄露。

http://www.yayakq.cn/news/217494/

相关文章:

  • 运动分类的网站设计论文seo关键词的选择步骤
  • 网站蜘蛛抓取嘉兴市南湖区建设局网站
  • 30岁女人学网站开发可以吗贵州安顺网站建设
  • 深圳网站优化建设开发文档
  • namecheap建站wordpress网站里添加斗鱼直播的视频怎么做
  • 北京公司网站建设价格wordpress文章重复
  • 淘宝客导购网站模板建设网站的需求分析
  • 宜宾网站建设工作室一家做特卖的网站叫什么
  • 网站建设准备资料怎么选择大连网站建设
  • 购物网站网页模板网站设计师简介
  • wordpress手机端网站模板吉林建设教育协会网站
  • wordpress站群远程管理软件全国网页制作大赛
  • 搜点济南网站建设做企业平台的网站有哪些方面
  • 网站推广怎么优化太原网站优化常识
  • 网站开发要学些什么公司网站建设考核
  • 南宁营销型网站建设网站开发浏览器分辨率
  • 寒亭区建设局网站思坎普网站建设
  • 个人持有域名可以做公司网站吗深圳网站建设东营
  • 动易网络 官方网站广州建网站兴田德润很好
  • 深圳个人网站建设个人网页制作怎么做
  • wordpress建站网页无法运作个人做网站做什么样的话
  • 做a视频在线观看网站房产信息网上自助查询
  • 深圳如何搭建建网站上海住房城乡建设网站证件查询
  • 济南公积金网站比较好的网站建设网站
  • 建设网站二级建造师如何解聘驾校视频网站模板
  • 建那种外卖网站该怎么做建好网站是不是每年都要交钱
  • 上海城市分站seo网站开发需求分析说明
  • 越秀移动网站建设网络营销的特征和功能
  • 景安做网站教程wordpress菜单文件
  • 魔方网站导航设计安阳网络推广代理