命名约定(Naming Conventions)
RTOS内核与Demo程序源代码使用下面的约定:
变量
char类型的变量以c为前缀short类型的变量以s为前缀long类型的变量以l为前缀float类型的变量以f为前缀double类型的变量以d为前缀enum变量以e为前缀- 其他类型(如结构体)以
x为前缀 point有一个额外的前缀p, 例如short类型的指针前缀为psunsigned类型的变量有一个额外的前缀u, 例如无符号short类型的变量前缀为us
函数
- 文件内部函数以
prv为前缀 - API函数以其返回值类型为前缀,按照前面对变量的定义
- 函数的名字以其所在的文件名开头。如vTaskDelete函数在Task.c文件中定义
宏定义
宏名以所在的文件的文件名的一部分作为前缀(开头),并且用小写。
比如, configUSE_PREEMPTION在文件 FreeRTOSConifg.h 中.
除了前缀,其余部分用大写,下划线来分隔单词。
数据类型
基本数据类型可以直接使用,但是有如下的例外和规则:
- char类型在每个平台都有其自身的定义方式。
- 有些平台
char等价于signed char,另一些则等价于unsigned char, - 为此,要在代码中明确的使用
signed char或unsigned char。 - 直接使用 char类型是被禁止的。
- 有些平台
- 不能直接使用 int 类型,要使用 short 和 long。
float和double没有在内核中使用,但是Demo 代码中有使用。
此外,有两种额外的类型要为每种平台定义。分别是:
portTickType
如果 configUSE_16_BIT_TICKS被定义, 则portTickType被定义为无符号16bit类型,否则为无符号32bit类型。参考API文档中的 定制部分获取详细信息。