我有几个爱好C编程项目,我想开始。我正在寻找一个拥有自由许可证的开源库(我想要信用,但几乎任何人都可以使用)。该库需要比C标准库和一些可移植的线程原语更好的字符串。
答案 0 :(得分:13)
我认为glib通常优于apr。 glib有许多数据结构作为可移植库。例如散列表,所有类型的列表,队列,堆栈,动态数组,也用于参数解析,文件io也有它自己的包装器,并且内存管理很容易修改。例如,您可以使用Boehm Weisser GC轻松制作glib,这是AFAIKT从未实现过的,也不是使用Apache轻松实现的。我会决定有点不同。如果你需要一个更有用的数据结构库,glib是一个更好的装备。如果涉及到GUI的东西,那么libapr什么都没有,而glib有gdk / gtk +,如果你愿意,还有很多gnome的东西。
然而,如果涉及网络内容,libapr肯定比glib有优势。
所以我的建议是
答案 1 :(得分:7)
我会去APR。 APR在便携性Unix / Windows(作为专用的可移植性库)方面更胜一筹,GLib传统上更加面向Unix。 APR是一个比GLib更大的库,里面有很多有用的东西(哈希表,参数解析,文件I / O东西,内存管理,共享内存例程,信号处理等)。
答案 2 :(得分:1)
你有没有理由不想使用c ++ stl?即使您正在编写没有类的“c风格”代码,也可以使用c ++字符串和数据结构。
当然,坚持C有很多正当理由。如果是这样的话,我会推荐glib。 APR更像是一个可移植层而不是实用程序库。