有時候寫一些小東西的時候,還是需要使用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那些這么經典的東西就算了,沒有列出來了。