我有几个业余爱好的C编程项目,我想开始。我正在寻找一个拥有自由许可的开源库(我想要积分,但几乎任何人都可以使用)。该库需要具有比C标准库更好的字符串和一些可移植的线程原语。
我正在考虑GLib和APR。你的实际经验是什么?哪个是更好的基础C库?有没有其他库填补相同的利基?
发布于 2008-11-18 14:28:34
我认为glib通常比apr更好。glib有更多的数据结构作为可移植的库。例如,哈希表,所有类型的列表,队列,堆栈,动态数组,也用于参数解析,文件io也有它自己的包装器,内存管理很容易修改。例如,你可以很容易地让glib使用Boehm Weisser GC,这是一件从来没有做过的事情,也是使用Apache可能做到的简单事情。我会做出一点不同的决定。如果您需要更有用的数据结构库,glib是一个配备得更好的库。如果涉及到GUI的东西,那么libapr什么都没有,而glib有gdk/gtk+和很多gnome的东西,如果你喜欢的话。
然而,如果涉及到网络方面的东西,libapr肯定比glib更有优势。
所以我的建议是
发布于 2008-11-17 21:43:01
我会选择APR。GLib更擅长于可移植性Unix/Windows (作为一个专用的可移植性库),而APR传统上更加面向Unix。APR是一个比GLib更大的库,里面有很多有用的东西(哈希表、参数解析、文件I/O东西、内存管理、共享内存例程、信号处理等)。
发布于 2008-11-18 17:14:28
您不想使用c++ stl有什么原因吗?即使您正在编写没有类的“c风格”代码,您也可以使用c++字符串和数据结构。
当然,坚持使用C有很多合理的理由。如果是这样的话,我会赞同glib的建议。与其说APR是一个实用程序库,不如说它是一个可移植层。
https://stackoverflow.com/questions/296992
复制相似问题