- 博客(4)
- 收藏
- 关注
原创 队列、队列发送、消息
FreeRTOS的队列使用拷贝传输,也就是要传输uint32_t时,把4字节的数据拷贝进队列;数据本身带有"来源"信息,比如写入队列的数据是一个结构体,结构体中的。函数读队列,读到一个数据后,队列中该数据会被移除。可以把数据写到队列头部,也可以写到尾部,这些函数有两个版本:在任务中使用、在ISR中使用。这个程序故意设置接收任务的优先级更高,在它访问数组的过程中,接收任务无法执行、无法写这个数组。注意,队列长度必须为1。:把它的地址写入队列,对方从队列得到这个地址,使用地址去访问那1000字节的数据。
2023-11-18 18:41:23
38
1
原创 智能指针、共享指针
默认情况下,shared_ptr指向的动态的内存是使用delete来删除的。shared_ptr 默认的构造函数中使用的是delete来删除关联的指针,所以构造的时候也必须使用new出来的堆空间的指针。对于申请的动态数组来说,shared_ptr 指针默认的释放规则是不支持释放数组的,只能自定义对应的释放规则,才能正确地释放申请的堆内存。:就是记录对象被引用的次数,当引用次数为 0 的时候,也就是最后一个指向该对象的共享指针析构的时候,共享指针的析构函数就把指向的内存区域释放掉。跟get函数一样的效果。
2023-11-18 18:36:59
97
1
原创 链表以及动态链表、数组
链表是一种常见的数据结构,它用于存储一系列的元素,每个元素被称为节点(node)。每个节点包含了数据以及一个指向下一个节点的指针(或引用)。链表的每个节点可以在内存中分散存储,相对于数组而言,链表更具有动态性。数组和链表都可以用来存储一组元素,但它们在内存中的分布和特性上有所不同。数组是一种静态数据结构,它在内存中连续存储元素。所有元素的类型相同,占用相等的内存空间。数组的大小在创建时就固定了,不能轻易改变。访问数组元素速度快,因为可以通过索引直接计算出元素的内存位置。
2023-11-18 18:35:51
58
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人