...
- 每个C文件开头都一段注释,标明文件的名称,作者,编写日期,文件描述与版本修改,下面是一个可以参考的例子:
...
language | c++ |
---|---|
theme | Confluence |
linenumbers | false |
collapse | false |
...
- /
...
- / todo
每个函数的定义处都需要写注释,表示该函数的名称,作者,作用,以及该函数的输入输出值。
- 程序的关键代码需要用注释说明
- 注意注释不要过多,很多时候,可以通过合理的命名让程序具有*自解释性*。
...
代码块 |
---|
#define HI_APPCOMM_LOG_AND_RETURN_IF_FAIL(ret, errcode, errstring) \ do { \ if ((ret) != HI_SUCCESS) { \ MLOGE("[%s] failed[0x%08X]\n", (errstring), (ret)); \ return (errcode); \ } \ } while (0) |
这个宏可以处理常见的根据返回值退出的操作。
C语言实现memdump函数:
展开 | ||
---|---|---|
|
效果:
关于枚举值的变量类型,一般认为是int型,但某些嵌入式设备上,枚举值的类型实际是char,像下面这样的枚举值定义会出现问题:
代码块 |
---|
typedef enum State
{
StateA = 1 << 0,
StateB = 1 << 1,
StateC = 1 << 2,
...
StateX = 1 << 8 // 错误,超出char类型范围了
} STATE_E; |
对此,只能将枚举值转化为宏定义,如下:
代码块 |
---|
typedef unsigned int STATE_E;
#define StateA (1 << 0)
...
#define StateX (1 << 8) |