我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:大丰收高手论坛 > 动态分配 >

ucos-ii学习笔记——动态内存分配原理及使用

归档日期:04-23       文本归类:动态分配      文章编辑:爱尚语录

  //第二个参数50表示分区中内存块的数目,第三个参数64表示每个内存块的字节数,最后&err为错误信息

  //函数的返回值为创建的内存分区的指针,为OS_MEM内存控制块类型的指针,上面定义了

  //函数的参数为指向内存分区的指针,上面已经创建了内存分区IntBuffer

  //函数的返回值为内存块指针,上面定义了INT8U*IntBlkPtr;//定义内存块指针无符号char型的

  //注意,应用程序在使用内存块时,必须知道内存块的大小,并且在使用时不能超过该容量

  //函数中的第一个参数IntBuffer为内存块所属的内存分区的指针,IntBlkPtr为待释放内存块指针

  //在使用函数OSMemPut()释放内存块时,一定要确保把该内存块释放到它原来所属的内存分区中

  OS_MEM*IntBuffer;//定义内存控制块指针,创建一个内存分区时,返回值就是它

  INT8UIntPart[8][6];//划分一个具有8个内存块,每个内存块长度是6个字节的内存分区

  //查询到的动态内存分区状态的信息是一个SO_MEM_DATA型的数据结构OSMemQuery()函数查询到的内存分区

  //此次释放,只能释放最后一次申请到的内存块,前面因为IntBlkPtr被后面的给覆盖掉了,所以释放

  //根据上面的分析可以很容易分析运行的现象了,从现象中可以看出,任务YouTask和HerTask申请了内存块使用完了

  //后就释放了,而任务MyTask要一直到运行了6次后才释放所申请的内存块

本文链接:http://quangdungfc.net/dongtaifenpei/18.html