我是 RTOS 和 C 编程的新手,而且我仍在习惯 C 的良好实践。因此,我打开了一个使用 FreeRTOS 的项目,我注意到操作系统文件使用匈牙利表示法。我知道一点符号,但面临一些新的“标准”FreeRTOS.h
文件,分别是:
#ifndef configASSERT
#define configASSERT( x )
#define configASSERT_DEFINED 0
#else
#define configASSERT_DEFINED 1
#endif
在那之下,
#ifndef INCLUDE_xTaskGetSchedulerState
#define INCLUDE_xTaskGetSchedulerState 0
#endif
#ifndef INCLUDE_xTaskGetCurrentTaskHandle
#define INCLUDE_xTaskGetCurrentTaskHandle 0
#endif
我见过这个x- 如xXTaskGetCurrentTaskHandle
看着the man http://www.freertos.org/FreeRTOS-Coding-Standard-and-Style-Guide.html#NamingConventions
命名约定
RTOS 内核和演示应用程序源代码使用以下约定:
变量
类型变量uint32_t
有前缀ul,其中'u'表示unsigned
和'l'表示long
.
类型变量uint16_t
有前缀us,其中'u'表示“无符号”,“s”表示short
.
类型变量uint8_t
有前缀uc,其中'u'表示“无符号”,“c”表示char
.
非 stdint 类型的变量以 x 为前缀。例子包括BaseType_t
and TickType_t
,它们是可移植层定义的 typedef,用于架构的自然或最有效类型以及分别用于保存 RTOS 滴答计数的类型。
Unsigned
非 stdint 类型的变量有一个附加前缀u。例如类型变量UBaseType_t
(unsigned BaseType_t
) 为前缀ux.
类型变量size_t
也有前缀x.
枚举变量有前缀e
指针有一个额外的前缀p,例如指向 a 的指针uint16_t
将有前缀pus.
根据 MISRA 指南,不合格的标准字符类型仅允许保存ASCII characters
并带有前缀c.
符合 MISRA 指南,类型变量char *
只允许保存指向ASCII strings
并带有前缀pc.
Emphasis mine
功能
Emphasis mine
Macros
Emphasis mine
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)