GLib v APR各有利弊

时间:2008-11-17 21:24:33

标签: c open-source glib apr

我有几个爱好C编程项目,我想开始。我正在寻找一个拥有自由许可证的开源库(我想要信用,但几乎任何人都可以使用)。该库需要比C标准库和一些可移植的线程原语更好的字符串。

我正在考虑GLibAPR。你的实践经历是什么?哪个是更好的基础C库?有没有其他图书馆填补相同的利基?

3 个答案:

答案 0 :(得分:13)

我认为glib通常优于apr。 glib有许多数据结构作为可移植库。例如散列表,所有类型的列表,队列,堆栈,动态数组,也用于参数解析,文件io也有它自己的包装器,并且内存管理很容易修改。例如,您可以使用Boehm Weisser GC轻松制作glib,这是AFAIKT从未实现过的,也不是使用Apache轻松实现的。我会决定有点不同。如果你需要一个更有用的数据结构库,glib是一个更好的装备。如果涉及到GUI的东西,那么libapr什么都没有,而glib有gdk / gtk +,如果你愿意,还有很多gnome的东西。

然而,如果涉及网络内容,libapr肯定比glib有优势。

所以我的建议是

  • 桌面编程:使用GTK +和glib。
  • 网络资料:使用apr,但请确保glib确实拥有所有这些便携式产品。

答案 1 :(得分:7)

我会去APR。 APR在便携性Unix / Windows(作为专用的可移植性库)方面更胜一筹,GLib传统上更加面向Unix。 APR是一个比GLib更大的库,里面有很多有用的东西(哈希表,参数解析,文件I / O东西,内存管理,共享内存例程,信号处理等)。

答案 2 :(得分:1)

你有没有理由不想使用c ++ stl?即使您正在编写没有类的“c风格”代码,也可以使用c ++字符串和数据结构。

当然,坚持C有很多正当理由。如果是这样的话,我会推荐glib。 APR更像是一个可移植层而不是实用程序库。