RTOS系统 -- FreeRTOS之内存分配pvPortMalloc使用及命名规范

FreeRTOS 内存管理函数 pvPortMalloc 的命名由来

在 FreeRTOS 中,pvPortMalloc 是用于动态内存分配的函数名。这个命名遵循了 FreeRTOS 的命名惯例。下面详细介绍这个名称的含义及其命名规范。

名称拆解

pv

这是一个前缀,表示返回类型是 void *。在 FreeRTOS 的命名惯例中,pv 通常表示“pointer to void”,即 void * 类型的指针。

Port

这个部分表示这个函数是与特定移植层(port layer)相关的。FreeRTOS 是一个可移植的 RTOS,它可以运行在不同的硬件平台上,而移植层负责处理与硬件相关的操作。使用 Port 作为前缀,表明这个函数是在移植层中定义的,或者是与移植层相关的。

Malloc

这个部分来源于 C 标准库中的 malloc 函数,表示内存分配。它清楚地表明了这个函数的功能是分配内存。

命名规范

FreeRTOS 的命名规范遵循一定的前缀规则,以帮助开发者快速了解函数的返回类型和用途。例如:

  • v:表示返回类型是 void。例如,vTaskDelete 表示删除任务,返回类型是 void
  • x:表示返回类型是 BaseType_t(通常是 int 类型)。例如,xQueueSend 表示发送队列消息,返回类型是 BaseType_t
  • p:表示返回类型是指针。例如,pvPortMalloc 表示返回一个指向分配内存的指针。
  • ul:表示返回类型是 unsigned long。例如,ulTaskNotifyTake 表示等待任务通知,返回类型是 unsigned long

代码示例

#include "FreeRTOS.h"
#include "task.h"

void exampleFunction()
{
    // 使用 pvPortMalloc 分配内存
    void *ptr = pvPortMalloc(100);  // 分配 100 字节的内存
    if (ptr != NULL)
    {
        // 使用内存...
        
        // 使用完毕后释放内存
        vPortFree(ptr);
    }
}

在这个例子中,pvPortMalloc 用于动态分配内存,vPortFree 用于释放内存。这个命名方式使得函数的用途和返回类型一目了然,有助于提高代码的可读性和可维护性。

  • 17
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值