uCosIII中使用malloc函数
来源:互联网 发布:动漫制作软件 编辑:程序博客网 时间:2024/06/14 03:31
我在STM32F407核心板上的uCosIII操作系统中使用malloc时出现了一个奇怪的问题,程序第一次使用malloc时能够正常运行,第二次使用malloc函数时直接导致程序进入硬件故障异常死循环,实在不解,后询问高手才知要在启动文件中加大heap容量才行,后将heap容量加大后故障果然消失。
附加malloc的使用注意事项:
使用malloc函数申请内存空间需要了解:(malloc的原型为:(void *) malloc(int
1)内存分配给谁?
2)分配多大的内存?
3)是否还有足够内存分配?
4)内存将用来存储什么格式的数据?
5)分配的内存在哪里?
举例:
char *p = (char *) malloc(1000);
在堆上分配了1000个字节的内存,返回这块内存的首地址,把地址强制转换成 char *类型后赋给char *类型的指针变量p;这块地址是用来保存char类型的数据。
使用malloc函数申请内存空间注意事项:
1)内存是否申请成功? if( NULL !=p )
2)使用结束后,一定要释放,要求malloc和free符合一夫一妻制;
3)内存释放后(使用free函数之后指针变量p本身保存的地址并没有改变),需要将p的值赋值为NULL(拴住野指针)。
char *p = (char *) malloc(1000);
if (NULL != p)
{
......
}
else
{
}
最后,malloc容易产生内存碎片,要注意使用!
0 0
- uCosIII中使用malloc函数
- UCOSIII相关API函数的使用
- UCOSIII相关API函数的使用
- ucosiii-任务相关 API 函数使用
- malloc函数使用注意
- malloc函数使用
- malloc函数的使用
- 跨函数使用malloc函数
- malloc()函数在keil中使用应注意什么
- Keil Arm中使用malloc函数的方法
- UCOSIII 任务管理(中)
- uCOSIII使用DS18b20
- opencv中使用malloc
- C中malloc函数用法
- 1.如何使用 malloc 函数
- malloc函数两个使用实例
- microchip dspic33 malloc函数使用
- 使用UCOSIII创建一个任务
- 欢迎使用CSDN-markdown编辑器
- 维特比算法在分词中的应用
- centos下的压缩解压缩
- 算法学习之一java实现堆排序
- leetcode系列(23)判断整数是不是回文
- uCosIII中使用malloc函数
- emacs org plot 绘图二 折线图
- 求矩阵中的最大二维矩阵
- Java造型中的强制转换
- WDK显卡驱动sample编译和部署
- 显示意图和隐式意图
- 马哥linux2014|2015全套教程
- Monkey 测试
- 【转】理解矩阵(二)