![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言编程技巧
文章平均质量分 57
不问江湖任少侠
这个作者很懒,什么都没留下…
展开
-
C 语言的完美封装
你定义的结构体类型一定要写到头文件中吗?不是。为什么?原创 2022-01-17 21:47:18 · 1330 阅读 · 0 评论 -
C语言编程技巧-使用多线程提速
多线程提速 ,轻松提升 4-5倍运行效率,都不用换算法...原创 2021-12-30 23:54:25 · 1194 阅读 · 0 评论 -
C语言编程技巧-实现一个hash表
解决频繁查找时候 速度慢的痛点,使用C语言写一个hash表模块。可以根据自己的实际情况扩展。原创 2021-12-29 22:54:37 · 1002 阅读 · 0 评论 -
C语言编程技巧--自己写一个动态数组
C语言分割字符串痛点解决原创 2021-12-25 13:13:58 · 989 阅读 · 0 评论 -
C语言单继承实现和使用
C语言单继承实现和使用在研究给awtk添加一种输入法的时候,发现一个有意思的技巧。仿佛是C 语言中的继承的实现。AWTK中给出了输入法引擎的接口,方便用户添加自己的输入法。其内部架构如图所示。我现在想要加一个自己的输入法。但是每种输入法差别比较大,只是一个engine的对象可能没有办法满足需求。比如九宫格和韩文输入法之间的差别。如图,输入法的基本操作就是open/close/input ,打开,关闭,输入操作。但是因为具体情况不同,需要不同的数据结构来处理问题。我以前的原创 2021-09-23 20:36:28 · 309 阅读 · 0 评论 -
不想和别的模块耦合的时候可以使用两个头文件
一、背景近期在想办法重构一块 LCD 代码。想要构建一个组件,充当MVC模型中的C的角色。之前M(模式)和V(显示)是耦合的。不好读,不好维护,bug多等问题。不过在重构过程中,很不容易发现C模块的细节是不是也和M或者C耦合了。 理论上,我只希望使用API和其它模块交互。 比如定义的结构体名称,是不是在不应该出现的地方出现了。尤其是和别的同事合作,我要一个个检查代码,还有很多其它工作,不能在这里花费太多时间。所以决定借助编译器来帮忙。使用两个头文件。本次是要写LCD显示管原创 2021-06-16 22:07:00 · 167 阅读 · 0 评论 -
Linux下C语言管理多个信号并发
linux C语言使用IO复用处理信号一、为什么要使用IO复用的方式管理信号?考虑这样一个场景,事实上经常会遇到这种场景。设备中存在一个守护进程A。设备中存在一个用户进程,B。B在某些情况下需要重启日志服务。如果要B自己来处理这个需求,必须使用系统调用。system();函数。使用system函数重启了日志服务之后,日志服务进程的父进程就是B。此时,B因为其它的原因,需要重新启动,重新加载参数。此时,B死亡前,可能没法处理日志服务。这种做法是十分不合理的。一个服务的父进原创 2021-05-29 15:20:01 · 239 阅读 · 0 评论 -
整理C语言结构体数组初始化
C语言结构体数组初始化一、使用场景在C编码中,经常需要对结构体数组进行初始化。使用这种方法,能够使得代码更加的清晰,易读。例如:需要根据返回码,一个status code 做不同的操作。int process_by_status_code(int status_code){ if(status_code == 180) { //do process 1 } else if(status_code == 183) { //原创 2021-05-23 19:01:37 · 4633 阅读 · 0 评论