zoukankan      html  css  js  c++  java
  • [FreeRTOS] 命名规范

    命名约定(Naming Conventions)

    RTOS内核与Demo程序源代码使用下面的约定:

    变量

    • char类型的变量以c为前缀
    • short类型的变量以s为前缀
    • long类型的变量以l为前缀
    • float类型的变量以f为前缀
    • double类型的变量以d为前缀
    • enum变量以e为前缀
    • 其他类型(如结构体)以 x 为前缀
    • point有一个额外的前缀p, 例如short类型的指针前缀为ps
    • unsigned类型的变量有一个额外的前缀u, 例如无符号short类型的变量前缀为us

    函数

    • 文件内部函数以prv为前缀
    • API函数以其返回值类型为前缀,按照前面对变量的定义
    • 函数的名字以其所在的文件名开头。如vTaskDelete函数在Task.c文件中定义

    宏定义

    宏名以所在的文件的文件名的一部分作为前缀(开头),并且用小写。
    比如, configUSE_PREEMPTION在文件 FreeRTOSConifg.h 中.
    除了前缀,其余部分用大写,下划线来分隔单词。

    数据类型

    基本数据类型可以直接使用,但是有如下的例外和规则:

    • char类型在每个平台都有其自身的定义方式。
      • 有些平台char等价于signed char,另一些则等价于 unsigned char
      • 为此,要在代码中明确的使用 signed charunsigned char
      • 直接使用 char类型是被禁止的。
    • 不能直接使用 int 类型,要使用 short 和 long。
    • floatdouble没有在内核中使用,但是Demo 代码中有使用。

    此外,有两种额外的类型要为每种平台定义。分别是:
    portTickType

    如果 configUSE_16_BIT_TICKS被定义, 则portTickType被定义为无符号16bit类型,否则为无符号32bit类型。参考API文档中的 定制部分获取详细信息。

    Good Good Study! Day Day Up!

  • 相关阅读:
    针对专业人员的 TensorFlow 2.0 入门
    学习深度学习过程中的一些问题
    Leetcode_06_ZigZag Conversion (easy)
    leetcode_07_Reverse Integer (easy)
    独立游戏人:像素风格游戏制作分享(转)
    关于iphone开发中的@property和@synthesize的一些见解(转)
    iphone开发cocoa中nil,NSNull,Nil的使用区别
    Xcode6.1创建仅xib文件无storyboard的hello world应用(转)
    iOS 学习资料整理(转)
    hdoj1042ac
  • 原文地址:https://www.cnblogs.com/kdurant/p/4175579.html
Copyright © 2011-2022 走看看