12-Openwrt libubox ulog md5 list

时间:2019-07-19 来源: 旅游

  openwrt下面的libubox库可谓是非常的强大,很多库都会调用到其中的接口,如ubus,uhttpd

  libubox主要提供一下两种功能:

  提供一套基于事件驱动的机制。

  提供多种开发支持接口。(如:链表、kv链表、平衡查找二叉树、md5、json)

  使用libubox开发的好处有如下几点:

  可以使程序基于事件驱动,从而可实现在单线程中处理多个任务。

  基于libubox提供的开发API可以加快开发进度的同事提高程序的稳定性。

  能更好的将程序融入openwrt的架构中,因为新的openwrt的很多应用和库都基于libubox开发的。

  综上所述,libubox是您玩新版openwrt必修的一个东东,相信它也值得大家去研究学习。

  libubox源代码如下,我们所有调用的接口都可以在里面找到,查看其原理。

  1.环境搭建

  首先在package下面添加一个ztest模块,修改对应的Makefile,并在config里面添加选项

  编译的时候不用全部编译,可以直接编译ztest模块即可

  编译完在下面拷贝最新的ztest文件上传到板子/usr/bin/下面跑即可。

  2.使用syslog打印调试日志

  vim ztest/src/ztest.h

  vim ztest/src/ztest.c

  这边直接使用系统接口syslog来打印调试信息,代码跑起来后可以使用logread来查看调试信息

  使用logread -f可以在线查看log

  3.libubox/ulog打印调试日志

  上面使用的syslog是我们自己又封装了一遍,其实libubox里面也已经帮我们搞定了这个接口,我们只需要调用初始化下即可。

  查看libubox/ulog.c里面的源代码,其实也是很简单,封装了三种接口,分别对应,三种形式。如果我们选择了那就跟上面的syslog一模一样了。

  调用下面两个接口后,就可以使用了

  4.libubox/md5接口使用

  libubox为我们提供了md5的两种算法,一个是数据的md5,还有一个是文件的md5sum

  具体使用如下,比较简单:

  5.libubox/list接口使用

  libubox里面的list(仔细看一下它应该是从内核中移植过来的)可称之为侵入式链表,这种list最突出的特征就是其节点中不含有任何数据,相反,list节点是嵌入到特定的数据结构中的。

  这样做有两点好处:

  链表自身导出的方法比较简洁,由于不涉及到数据的操作,因而list的所有API都可以实现通用;

  不用为每种数据类型实现一套链表的操作,当然在支持泛型的语言里可以使用模板来实现这种通用list。

  

  代码位于github:

频道热点
新闻排行
  1.   谈起国风武侠网游,国内武侠四巨头定是第一时间出现在大家的脑海中。《剑网3》十年历史,积淀深厚,十?

      谈起国风武侠网游,国内武侠四巨头定是第一时间出现在大家的脑海中。《剑网3》十年历史,积淀深厚,十?...

  2.   openwrt下面的libubox库可谓是非常的强大,很多库都会调用到其中的接口,如ubus,uhttpd  libubox主要

      openwrt下面的libubox库可谓是非常的强大,很多库都会调用到其中的接口,如ubus,uhttpd  libubox主要...

  3.     股骨头坏死早期症状不明显,容易被人忽视,一般会在患侧臀部、腹股沟、腰部、膝关节等部位有疼痛,

        股骨头坏死早期症状不明显,容易被人忽视,一般会在患侧臀部、腹股沟、腰部、膝关节等部位有疼痛,...

  4.   钓鱼如果不知道底,就成了摸黑钓了,心里自然也就没有“底”。今天我们就来说说如何根据不同的水情,选

      钓鱼如果不知道底,就成了摸黑钓了,心里自然也就没有“底”。今天我们就来说说如何根据不同的水情,选...

  5.     众所周知,赵薇最近几年一直以女神的姿态出现在我们观众的身旁。但是也有不少她的绯闻。比如之前的

        众所周知,赵薇最近几年一直以女神的姿态出现在我们观众的身旁。但是也有不少她的绯闻。比如之前的...

  6.   谈起国风武侠网游,国内武侠四巨头定是第一时间出现在大家的脑海中。《剑网3》十年历史,积淀深厚,十?

      谈起国风武侠网游,国内武侠四巨头定是第一时间出现在大家的脑海中。《剑网3》十年历史,积淀深厚,十?...

  7.   openwrt下面的libubox库可谓是非常的强大,很多库都会调用到其中的接口,如ubus,uhttpd  libubox主要

      openwrt下面的libubox库可谓是非常的强大,很多库都会调用到其中的接口,如ubus,uhttpd  libubox主要...

  8.   原创体娱大集4天前我要分享  湖人曾经十分接近得到伦纳德或乔治,甚至他们有机会同时得到伦纳德和乔?

      原创体娱大集4天前我要分享  湖人曾经十分接近得到伦纳德或乔治,甚至他们有机会同时得到伦纳德和乔?...

  9.   原创体娱大集4天前我要分享  湖人曾经十分接近得到伦纳德或乔治,甚至他们有机会同时得到伦纳德和乔?

      原创体娱大集4天前我要分享  湖人曾经十分接近得到伦纳德或乔治,甚至他们有机会同时得到伦纳德和乔?...

  10.   原创体娱大集4天前我要分享  湖人曾经十分接近得到伦纳德或乔治,甚至他们有机会同时得到伦纳德和乔?

      原创体娱大集4天前我要分享  湖人曾经十分接近得到伦纳德或乔治,甚至他们有机会同时得到伦纳德和乔?...

日期归档
友情链接