锚 | ||||
---|---|---|---|---|
|
注释规范
文件注释,函数注释等,参考doxygen规模。
...
- 每个C文件开头都一段注释,标明文件的名称,作者,编写日期,文件描述与版本修改,下面是一个可以参考的例子:
...
- // todo
...
每个函数的定义处都需要写注释,表示该函数的名称,作者,作用,以及该函数的输入输出值。
...
/*=====================================================
* Copyright (C) 2014 All rights reserved.
*
* Filename:calculate.c
* Author:luqiang
* Date:2015/01/12
* Description:this is the description.
*
======================================================*/
- 程序的关键代码需要用注释说明
- 注意注释不要过多,很多时候,可以通过合理的命名让程序具有*自解释性*。
流程图
关于数字的指数形式,比如10e9,其类型默认为浮点型,也就是说如果要用这种形式进行整数运行,则必须要进行强制类型转换,如下:
代码块 |
---|
int n;
...
int a = n % (10e9 + 7); // 错误,10e9+7 最终类型是浮点型,不可以用于求余运算
int a = n % ((int)10e9 + 7) // 正确 |
待确认:结构体位域按1字节对齐,相邻位域不填充。
用宏可以实现的一些骚操作,比如下面这个宏:
代码块 |
---|
#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函数:
展开 | ||
---|---|---|
|
效果:
...