09 2022 档案

摘要:目录变长函数C中变长参数C++中变长参数变长模板变长模板类变长模板函数变长模板高级功能特殊的包扩展方式"sizeof..."计算参数包参数个数模板参数包是模板最后一个参数吗?小结参考 变长函数 C中变长参数 变长函数(variadic function)是指函数参数个数可变。在C中,有两种方式表示可 阅读全文
posted @ 2022-09-29 22:39 明明1109 阅读(1784) 评论(0) 推荐(0) 编辑
摘要:顺序一致性 如果只是简单的进行线程间同步数据,而不考虑效率,那么使用原有的原子类型(atomic)即可。因为通常所使用的原子类型,是基于顺序一致性(sequential consistent)的内存模型(memory model)。 什么是内存模型? 通常,内存模型是一种硬件上的概念,表示的是机器指 阅读全文
posted @ 2022-09-28 19:29 明明1109 阅读(1532) 评论(0) 推荐(0) 编辑
摘要:日志等级 从zlog帮助文档以及zlog.h源码文件,容易知道zlog默认支持下面几个日志等级(优先级从低到高):DEBUG、INFO、NOTICE、WARN、ERROR、FATAL。 // zlog.h /* 日志消息等级 */ typedef enum { ZLOG_LEVEL_DEBUG = 阅读全文
posted @ 2022-09-16 17:30 明明1109 阅读(1261) 评论(0) 推荐(1) 编辑
摘要:MDC MDC在log4j里解释为Mapped Diagnostic Context,其实就是一个键-值对表。一旦设置了,后面库可以帮你自动打印出来,或者成为文件名的一部分。 来看一个例子,来源于test/test_mdc.c // test/test_mdc.c #include <stdio.h 阅读全文
posted @ 2022-09-14 16:34 明明1109 阅读(1102) 评论(0) 推荐(0) 编辑
摘要:zc_arraylist的设计思想 zc_arraylist数据结构 C++中有vector来表示动态列表(数组),C中如何实现呢? 通常,我们用这样一个数据结构,来表示一个动态列表: typedef struct { int *array; /* 数组指针 */ int len; /* 长度 */ 阅读全文
posted @ 2022-09-14 16:21 明明1109 阅读(273) 评论(0) 推荐(0) 编辑
摘要:zc_hashtable设计思想 哈希表(hash table),又叫散列表,是根据关键字和值(key-value)直接进行访问的数据结构。哈希表可实现O(1)查找时间复杂度,用于频繁查找的场景,能大大提高效率。哈希表通过关键字和一个映射函数hash(key) 计算出对应value,这个映射函数称为 阅读全文
posted @ 2022-09-14 16:16 明明1109 阅读(232) 评论(0) 推荐(0) 编辑
摘要:引入头文件 zlog所有接口都是线程安全的,使用时只需要包含头文件 #include "zlog.h" 初始化和清理 总览 ini zlog_init(const char *confpath); int zlog_reload(const char *confpath); void zlog_fi 阅读全文
posted @ 2022-09-12 15:33 明明1109 阅读(1722) 评论(0) 推荐(0) 编辑
摘要:配置文件 zlog是一个通用日志库,基本功能跟专用日志库并没有本质区别。通用日志库,通过配置文件,来简化一些列日志使用和配置,以适应各种不同项目需求。而配置文件承载了这角色,为不同项目需求定制不同的功能,主要包括:把日志打印到哪儿去,用什么格式,如何转档等。 例如,一个完整的配置文件内容如下: # 阅读全文
posted @ 2022-09-12 00:59 明明1109 阅读(5071) 评论(0) 推荐(1) 编辑
摘要:编译环境 我的编译环境(WSL1 + VS Code 1.71.0): OS: Linux 4.4.0 GCC: gcc 5.4.0 编译和安装zlog 下载或fork + clone https://github.com/HardySimpson/zlog 比如,这里是下载安装包zlog-late 阅读全文
posted @ 2022-09-11 00:28 明明1109 阅读(751) 评论(0) 推荐(0) 编辑
摘要:zlog是什么? zlog是一个高可靠、高性能、线程安全、灵活、概念清晰的纯C编写的开源日志库。 项目主页:http://hardysimpson.github.io/zlog/ github源码地址:https://github.com/HardySimpson/zlog 参考文档地址:http: 阅读全文
posted @ 2022-09-10 23:55 明明1109 阅读(1601) 评论(0) 推荐(0) 编辑
摘要:例程源码exmaple1 本地源码路径freetype-2.10.2/docs/tutorial/example1.c or 官网地址:https://freetype.org/freetype2/docs/tutorial/example1.c 例程主要工作:在控制台打印一行字符串对应的用free 阅读全文
posted @ 2022-09-04 17:29 明明1109 阅读(1181) 评论(0) 推荐(0) 编辑
摘要:矢量字体 什么是矢量字体? 点阵字库显示英文字母和汉字时,大小固定,如果放大或缩小,会出现模糊、锯齿等现象。为了解决该问题,可以使用矢量字体(Vector font)。矢量字体又叫Outline font,即轮廓字体。 矢量字体形成有3步: 1)确定关键点; 2)使用数学曲线(贝塞尔曲线)连接关键点 阅读全文
posted @ 2022-09-04 16:05 明明1109 阅读(8925) 评论(0) 推荐(2) 编辑
摘要:思路 使用交叉编译器编译freetype库源码,将得到的头文件和库文件拷贝到交叉编译器所在目录,从而进行安装。 编译环境 交叉编译器:arm-linux-gnueabihf-gcc (gcc version 6.2.1 20161016 (Linaro GCC 6.2-2016.11)) EVK(评 阅读全文
posted @ 2022-09-02 21:59 明明1109 阅读(1545) 评论(0) 推荐(0) 编辑