版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

  1. 每个C文件开头都一段注释,标明文件的名称,作者,编写日期,文件描述与版本修改,下面是一个可以参考的例子:

...

languagec++
themeConfluence
linenumbersfalse
collapsefalse

...

  1. /

...

  1. / todo

每个函数的定义处都需要写注释,表示该函数的名称,作者,作用,以及该函数的输入输出值。

  1. 程序的关键代码需要用注释说明
  2. 注意注释不要过多,很多时候,可以通过合理的命名让程序具有*自解释性*。

...

代码块
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函数:

展开
HTML
<script src="https://git.midlane.top/-/snippets/3.js"></script>

效果:

Image Added