20

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

我正在考虑GLibAPR。你的实践经验是什么?哪个是更好的基础 C 库?是否有其他图书馆填补了同样的空白?

4

3 回答 3

13

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

但是,如果涉及到网络方面的东西,libapr 肯定比 glib 更有优势。

所以我的建议是

  • 桌面编程:使用 GTK+ 和 glib。
  • 网络资料:使用 apr,但请放心 glib 也有所有这些可移植的资料。
于 2008-11-18T14:28:33.780 回答
7

我会选择 APR。APR 更擅长 Unix/Windows 的可移植性(作为一个专用的可移植库),GLib 传统上更面向 Unix。APR 是一个比 GLib 更大的库,其中包含许多有用的东西(哈希表、参数解析、文件 I/O 东西、内存管理、共享内存例程、信号处理等)。

于 2008-11-17T21:43:01.063 回答
1

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

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

于 2008-11-18T17:14:28.393 回答