C语言中有通用数据类型库吗?
我正在尝试用C编写一个2d游戏引擎(没有C++)。有哪些好的库具有我可能需要的通用数据类型?例如队列、树、地图、列表等?不确定这是否是您想要的答案,但关于这一主题的有用阅读是 HTH看看——它有树、哈希映射、链表和队列C语言中有通用数据类型库吗?,c,data-structures,C,Data Structures,我正在尝试用C编写一个2d游戏引擎(没有C++)。有哪些好的库具有我可能需要的通用数据类型?例如队列、树、地图、列表等?不确定这是否是您想要的答案,但关于这一主题的有用阅读是 HTH看看——它有树、哈希映射、链表和队列 如果你在Mac上,你将拥有所有的基本数据结构,在.中。如果你不想使用像GLIB这样的重量级库来使用数据结构,考虑我的轻量级版本,它很大程度上是基于代码中产生的。它目前的特点是: 动态数组 双链表 散列图 二叉搜索树 您可以尝试列表中提到的任何一种 这里列出的大多数库最酷的一点
如果你在Mac上,你将拥有所有的基本数据结构,在.中。如果你不想使用像GLIB这样的重量级库来使用数据结构,考虑我的轻量级版本,它很大程度上是基于代码中产生的。它目前的特点是:
- 动态数组
- 双链表
- 散列图
- 二叉搜索树
根据维基百科,您可以使用的另一个列表是——是的,跨平台,尽管没有列出平台。这是一个好主意。但glib还有很多我不需要的东西。是否有一个只有数据类型的精简版glib。如果它是静态库,则只有相关的对象文件会与二进制文件链接。无论如何,我想你可以滚动你自己的版本,只包含你需要的对象文件。glibforwin32是一小部分DLL:s,用于主要组件(“core”、GObject、GIO、GModule、GThread”)。总大小约为1.8MB。根据我的经验,在OS X上构建glib作为一个动态库以便在我的应用程序中分发它是一件痛苦的事情——尤其是找到所有依赖项并让它们进行编译。因此,虽然GLIB理论上是跨平台的,但要在其他平台上工作需要大量的工作。我正在寻找一种更跨平台的解决方案。核心基础也可以在Windows上使用,我猜也可以在Linux上使用。