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

我正在考虑 通用库年利率. 。您的实践经验是什么?哪个是更好的基础 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东西,内存管理,共享内存例程,信号处理等)。

你有没有理由不想使用c ++ stl?即使你正在写<!>“c-style <!>”;没有类的代码,可以使用c ++字符串和数据结构。

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top