openwrt下面的libubox库可谓是非常的强大,很多库都会调用到其中的接口,如ubus,uhttpd
libubox主要提供一下两种功能:
- 提供一套基于事件驱动的机制。
- 提供多种开发支持接口。(如:链表、kv链表、平衡查找二叉树、md5、json)
使用libubox开发的好处有如下几点:
- 可以使程序基于事件驱动,从而可实现在单线程中处理多个任务。
- 基于libubox提供的开发API可以加快开发进度的同事提高程序的稳定性。
- 能更好的将程序融入openwrt的架构中,因为新的openwrt的很多应用和库都基于libubox开发的。
综上所述,libubox是您玩新版openwrt必修的一个东东,相信它也值得大家去研究学习。
libubox源代码如下,我们所有调用的接口都可以在里面找到,查看其原理。
libubox-2016-11-29$ ls
avl.c blobmsg_json.h jshn.c list.h ulog.c ustream.h
avl-cmp.c CMakeCache.txt json_script.c lua ulog.h uti