我有一些业余爱好C编程项目,我想开始.我正在寻找一个拥有自由许可证的开源库(我想要信用,但几乎任何人都可以使用).库需要比C标准库和一些可移植的线程原语更好的字符串.
我在考虑GLib和APR.你的实践经历是什么?哪个是更好的基础C库?有没有其他图书馆填补相同的利基?
我认为glib通常优于apr.glib有许多数据结构作为可移植库.例如散列表,所有类型的列表,队列,堆栈,动态数组,也用于参数解析,文件io也有自己的包装器,内存管理很容易修改.例如,您可以使用Boehm Weisser GC轻松制作glib,这是AFAIKT从未实现过的,也很容易使用Apache.我会决定有点不同.如果你需要一个更有用的数据结构库,glib是一个更好的装备.如果涉及到GUI的东西,那么libapr什么都没有,而glib有gdk/gtk +,如果你愿意,还有很多gnome的东西.
但是,如果涉及网络内容,libapr肯定比glib有优势.
所以我的建议是
桌面编程:使用GTK +和glib.
网络的东西:使用apr,但要确保glib确实拥有所有这些便携式的东西.
我会去APR.APR在便携性Unix/Windows(作为专用的可移植性库)方面更胜一筹,GLib传统上更加面向Unix.APR是一个比GLib更大的库,里面有很多有用的东西(哈希表,参数解析,文件I/O东西,内存管理,共享内存例程,信号处理等).