像C中的库一样增强

时间:2008-10-17 19:06:54

标签: c boost

你能推荐我可以在C环境中使用的同行评审库(比如Boost for C ++)吗?提供散列,线程,进程间通信,列表,智能内存管理的东西......

环境是嵌入式系统,不是一个非常小的系统,也不是PC!

6 个答案:

答案 0 :(得分:14)

来自我的GLib还有

+1。另外,它也有自己的threading API,所以如果你不想,你不必学习pthreads。

不确定在C中是否存在“智能内存管理”这样的事情,当你没有析构函数的安全网并控制运算符时,这并不容易。但是,再次,GLib有大量面向内存的数据结构和真正让生活更轻松的东西。

不,我不是GLib团队的成员,但我确实喜欢它。 :)

答案 1 :(得分:7)

查看Apache Portable Runtime (APR)项目。

其中一些功能:

  • 内存管理API
  • 线程,互斥锁
  • 文件I / O
  • 原子作业
  • 哈希表,数组
  • 网络套接字和协议
  • 共享内存,mmap

更不用说它是便携式

答案 2 :(得分:6)

我不确定您是否会找到涵盖所有这些内容的单个库...但您可以查看glibpthreads以了解相关内容。

答案 3 :(得分:5)

请看Boehm GC一个广泛使用的C(或C ++)保守垃圾收集器,就智能内存管理而言,它可能满足您的需求。

答案 4 :(得分:2)

我也会加入GLib的行列。请记住,C不会为复杂的数据结构提供任何语法糖,因此在GLib中有很多强制转换和长函数名称,但它确实做了一个非常有效的工作,稍微增加了一些!! {/ p>

答案 5 :(得分:2)

关于Glib的使用。

你可能可以拿出你需要的东西并交叉编译它。所以,如果你只需要线程包 - 只需编译它,不要把所有东西都拿走。

我在使用Python VM做同样的事情。 PyMite适用于微控制器,不使用所有功能。