文档章节

linux下常用的开源库

Jack鸿燊
 Jack鸿燊
发布于 2015/08/04 10:11
字数 1354
阅读 180
收藏 0

linux下常用的开源库名字及简介,使用文档和教程可以自己百度 (自己整理,不定时完善)


SQLite
SQLite是一款轻型的数据库。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。
源码地址:http://www.sqlite.org/

libnet
libnet是一个小型的接口函数库,主要用C语言写成,提供了低层网络数据包的构造、处理和发送功能。libnet的开发目的是:建立一个简单统一的网络编程接口以屏蔽不同操作系统底层网络编程的差别,使得程序员将精力集中在解决关键问题上
源码地址:https://github.com/sam-github/libnet

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的用户可以灵活地对它进行裁剪。
源码地址:http://www.freetype.org/

jpegsrc
包含jpeg库,这些库用于读写jpeg文件
源码地址:http://ijg.org/

libxml2
libxml是linux平台下解析XML文件的一个基础库,现在很多实用软件都用XML格式的配置文件,所以也有必要学习一下。
源码地址:http://www.xmlsoft.org/

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 ,有兴趣的可以自己查文档学习。


© 著作权归作者所有

Jack鸿燊
粉丝 4
博文 10
码字总数 4667
作品 0
海淀
程序员
私信 提问
大神们,常用的linux c/c++ http开源库有哪些,给个推荐吧,谢谢!

大神们,常用的linux c/c++ http开源库有哪些,给个推荐吧,谢谢! 是不是一般都用开源库,不会去自己写http服务吧?

bensondawn
2016/12/10
1K
6
Git 界面GUI和命令行Command两种操作方式

Git 进行代码版本管理时,有两种操作方式:图形界面GUI和 命令行Command 图形界面GUI:有平台限制,目前仅支持Windows系统,Linux(Unix)都是命令行模式,并且图形界面每次提交好像Display...

sunboy2050
2012/05/01
0
0
几种开源协议简要说明

如何为代码选择开源许可证,这是一个问题。 世界上的开源许可证,大概有上百种。很少有人搞得清楚它们的区别。即使在最流行的六种----GPL、BSD、MIT、Mozilla、Apache和LGPL----之中做选择,...

土卫十六
2014/09/01
4
0
有偿为开源C语言工具库添砖加瓦

背景 是个开源C工具库 现有如下模块需要添加 1、msgpack msgpack操作库。要求满足常用对读写需要,可以参考json模块,当然,json有json pointer,包括msgpack和json相互转换,其中,对_b64后缀结束...

天台道人
2016/09/11
2
0
【上海】盛大最新招聘-php社区架构师

1. 有3年互联网行业工作经验以上; 有大型网站开发经验尤佳 2. 熟悉PHP,熟悉PHP性能优化和安全开发方法,具备OOP编程思想,熟悉设计模式; 3. 熟悉Linux/Unix操作系统,熟悉常用Linux命令 4....

我是震荡波
2011/10/12
999
15

没有更多内容

加载失败,请刷新页面

加载更多

微服务之架构技术选型与设计

本文主要介绍了架构技术选型与设计-微服务选型,Spring cloud 实现采用的技术,希望对您的学习有所帮助。 架构技术选型与设计-DUBBODubbo,是阿里巴巴服务化治理的核心框架,并被广泛应用于阿...

别打我会飞
38分钟前
3
0
在Windows中运行Linux bash命令的几种方法

如果你正在课程中正在学习 shell 脚本,那么需要使用 Linux 命令来练习命令和脚本。 你的学校实验室可能安装了 Linux,但是你自己没有安装了 Linux 的笔记本电脑,而是像其他人一样的 Window...

老孟的Linux私房菜
41分钟前
6
0
深入理解计算机系统(1.1)------Hello World 是如何运行的

上一篇序章我谈了谈 程序员为啥要懂底层计算机结构 ,有人赞同也有人反对,但是这并不影响 LZ 对深入理解计算机系统研究的热情。这篇博客以案例驱动的模式,通过跟踪一个简单 Hello World 程...

vinci321
46分钟前
2
0
Linux操作系统之Shell程序设计

Linux操作系统之Shell程序设计 Shell是种命令解释程序,也可以看作是一种命令语言的解释器。 用户在与Shell交互时所输入的命令行必须符合Shell命令的语法和语义规范,才能够被Shell理解并执行...

linuxCool
53分钟前
5
0
Java Foreach拉姆达表达式

以下案例分析了foreach循环和Java8 拉姆达表达式的区别 public static void main(String[] args) {/* * foreach 和 list */List<String> arrs = new ArrayList<>();...

cuishy
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部