有时候写一些小东西的时候,还是需要使用C,因为C在各个平台的兼容性比C++相对要好,而且一般执行的效率还是要比C++高。但是习惯了C++,用C老觉得不爽,太多东西不习惯,例如string、Exception等等。
收集了一些C的编程的lib,用起来,减少了和C++的一些差别,还算有些安慰。
Exceptions In C
URL: http://adomas.org/excc/
C下面使用Exception,比较有趣吧,呵呵。
vstr
URL: http://www.and.org/vstr/
C下面的string,好处就是不需要自己再去管理空间的增长和拷贝。当然释放操作还是要人工干预,C是没有析构函数的。有时候写一些简单的程序处理字符串(当然不想用perl的场合),比较适合。
apr
URL: http://apr.apache.org/
apache出品,一些通用C函数库,包罗万有(包括线程、网络),而且已经被广泛应用。不过有些东西还是嫌做得简单了一些。
Libtc
URL: http://libtc.sourceforge.net/
主要是一些C下面用的数据结构,例如链表、散列表、树、队列等等。
libevent
URL: http://www.monkey.org/~provos/libevent/
事件驱动的网络服务器框架,相当于reactor啦。另外一个类似的是 libivykis http://sourceforge.net/projects/libivykis 比较难记忆,还是libevent比较好记。
yada
URL: http://oss.devit.com/yada/
一个可以访问多种DB的接口,目前支持了MySQL、SQLite3、Oracle和PostgreSQL。不过功能不算很强,勉强可以用用。
CFL
URL: http://www.dystance.net/software/cfl/
也提供了很多C的数据结构,封装了一些socket等常用的类。
当然还有很多很不错的C lib,不过主要是列出一些平时常用到。还有一些例如BDB那些这么经典的东西就算了,没有列出来了。