姓名:徐予康 学号:19020100223 学院:丁香二号书院
转自:https://blog.csdn.net/jack_ios/article/details/47256981
【嵌牛导读】嵌入式开发中常用的开源库
【嵌牛鼻子】开源库
【嵌牛提问】无
【嵌牛正文】
SQLite
SQLite是一款轻型的数据库。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。
libjpeg
libjpeg是一个完全用C语言编写的库,包含了被广泛使用的JPEG解码、JPEG编码和其他的JPEG功能的实现。
源码地址:http://sourceforge.net/projects/libjpeg/files/
libevent
Libevent 是一个用C语言编写的、轻量级的开源高性能网络库,主要有以下几个亮点:事件驱动( event-driven),高性能;轻量级,专注于网络,不如 ACE 那么臃肿庞大;源代码相当精炼、易读;跨平台,支持 Windows、 Linux、 *BSD 和 Mac Os;支持多种 I/O 多路复用技术, epoll、 poll、 dev/poll、 select 和 kqueue 等;支持 I/O,定时器和信号等事件;注册事件优先级。
源码地址:https://github.com/nmathewson/Libevent
libcurl
libcurl主要功能就是用不同的协议连接和沟通不同的服务器。 libcurl当前支持http, https, ftp, gopher, telnet, dict, file, 和ldap 协议。libcurl同样支持HTTPS证书授权,HTTP POST, HTTP PUT, FTP 上传(当然你也可以使用PHP的ftp扩展), HTTP基本表单上传,代理,cookies,和用户认证。
源码地址:http://curl.haxx.se/
libiconv
libiconv库为需要做转换的应用提供了一个iconv()的函数,以实现一个字符编码到另一个字符编码的转换。libiconv在系统缺少多种多样的字符编码支持时,提供这样方面的支持。
源码地址:http://www.gnu.org/software/libiconv/
mcrypt/libmcrypt
一个功能强大的加密算法扩展库,在保证应用的应用性时,通过该扩展库的加密算法保证安全性
源码地址:http://mcrypt.sourceforge.net/
libpng
libpng可用于读写png文件
源码地址:http://libmng.com/pub/png/libpng.html
freetype
FreeType库是一个完全免费(开源)的、高质量的且可移植的字体引擎,它提供统一的接口来访问多种字体格式文件,包括TrueType, OpenType, Type1, CID, CFF, Windows FON/FNT, X11 PCF等。支持单色位图、反走样位图的渲染。FreeType库是高度模块化的程序库,虽然它是使用ANSI C开发,但是采用面向对象的思想,因此,FreeType的用户可以灵活地对它进行裁剪。
jpegsrc
包含jpeg库,这些库用于读写jpeg文件
源码地址:http://ijg.org/
libxml2
libxml是linux平台下解析XML文件的一个基础库,现在很多实用软件都用XML格式的配置文件,所以也有必要学习一下。
zlib
zlib 是一个压缩解压程序库
源码地址:http://www.zlib.net/
D-Bus
D-Bus是一个为应用程序间通信的消息总线系统, 用于进程之间的通信。
源码地址:http://www.freedesktop.org/wiki/Software/dbus/
pureftpd、bftpd、vsftpd
PureFTPd是一款专注于程序健壮和软件安全的免费FTP服务器软件。源码地址:http://www.oschina.net/p/pure-ftpd
vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。源码地址:http://vsftpd.beasts.org/http://www.oschina.net/p/vsftpd
Bftpd 主旨成为一款高速、小巧而且配置方便的服务器 源码地址:http://sourceforge.net/projects/bftpd/files/bftpd/bftpd-3.2/bftpd-3.2.tar.gz/download
tinyhttpd、mini_httpd、Lighttpd、apache、nginx
tinyhttpd 是一个不到 500 行的超轻量型 Http Server,用来学习非常不错,可以帮助我们真正理解服务器程序的本质。源码地址:http://sourceforge.net/projects/tinyhttpd/
mini_httpd是一个小型的HTTP Server,功能丰富,作为嵌入式系统的server性能很不错,唯一的不好的地方是代码风格不是很好。源码地址:http://www.acme.com/software/mini_httpd/
Lighttpd是一个具有非常低的内存开销,cpu占用率低,效能好,以及丰富的模块等特点。lighttpd是众多OpenSource轻量级的web server中较为优秀的一个。源码地址:http://www.lighttpd.net/
apache是世界排名第一的web服务器, 根据netcraft(www.netsraft.co.uk)所作的调查,世界上百分之五十以上的web服务器在使用apache. 源码地址:http://httpd.apache.org/download.cgi
Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”, 是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器。源码地址:http://nginx.org/
其他嵌入式的http server很多,比如shttpd thttpd mathopd appweb goahead boa ,有兴趣的可以自己查文档学习。
mbedtls
Mbed TLS是一个C库,它实现了加密原语、X.509证书操作以及SSL/TLS和DTLS协议。它的代码占用空间小,适合于嵌入式系统。(可替代openssl)
源码地址:https://github.com/ARMmbed/mbedtls
备注已接触/使用过的开源库:SQLite、libevent、libiconv、libxml2、Nginx、zlib。
嵌入式常用开源开发工具及库:https://blog.csdn.net/vertor11/article/details/79911113
一些嵌入式开发有用的github上的开源代码库:https://blog.csdn.net/u011559046/article/details/80172809