随笔分类 - Tips of C
摘要:一.前言 可变参数传参是C语言的一种高级用法。 二. 用法示例 求任意个 int 类型数据的平均值。 点击查看代码 double avg_int(int count, ...) { va_list ap; /* 2. 声明参数列表变量 */ int sum = 0; va_start(ap, cou
阅读全文
摘要:一.preface 看过许多文章,关于ringbuffer在多线程环境下的使用,或者在中断写、thread读的情况下的使用,一般都是需要加锁,来保证同步。 但是在我开发项目的过程中,发现ringbuffer的读写并不需要加锁,资源也不会有竞争。 二.analysis 环形缓冲区是在一端写,另一端读;
阅读全文
摘要:一.前言 lvgl有一个像素点类型定义"lv_color_t",可以用表示多种颜色格式,RGB565、RGB888、RGB111等。 二.代码分析 1.对于不同颜色使用联合体、结构体、位域进行类型定义。 点击查看代码 typedef union { uint8_t full; /*must be d
阅读全文
摘要:大端的高位字节在低地址处,小端的低位字节在低地址处 以 int32_t a = 0x12345678为例 看到一段大小端验证代码,记录下来 点击查看代码 uint32_t endianess_test = 0x11223344; uint8_t * endianess_test_p = (uint8
阅读全文
摘要:1.减小变量的跨度和存活时间,可减小代码的复杂度。所以尽可能少使用全局变量 2.变量的赋值越明显越好! 3.准备抛弃变量时,要给它赋值一个不合理的数值。 例如,可以在删除一个指针后把它的值设为NULL。 4.函数命名尽可能采用动宾结构(尤其子函数) 5.区分类变量和全局变量。若类外部的子程序需要使用
阅读全文
摘要:先贴上一篇优秀的博文链接: C语言之可重入函数 和不可重入函数_c 可重入函数_KiranWang的博客-CSDN博客 总结:不可重入函数的四种情况 1.静态数据结构:如静态局部变量活全局变量 2.malloc()或者free()函数因为这两个函数都会操作全局的链表,如果第一次malloc没结束时,
阅读全文
浙公网安备 33010602011771号