【问题标题】:C data structures - storing a representation of a binary treeC 数据结构 - 存储二叉树的表示
【发布时间】:2012-10-14 13:44:51
【问题描述】:

我正在为嵌入式处理器开发一个项目,其中我有一些在运行时创建的数据,并且指向这些数据的指针需要排列成几个类似二叉树的数据结构以供程序使用。

这些结构将在程序运行期间固定,但是,我希望编译时的选项能够快速更改使用的树的结构。希望更优雅和更容易重新配置的东西比说,每个涉及的树的函数或宏以正确的顺序为树的每个底层数据元素和节点重复调用“AddNode”函数。感谢您的任何建议!

【问题讨论】:

  • 如何创建树的文本表示并将其保存在字符串中,然后对其进行解析以构建树?然后,您可以在编译时切换正在使用的字符串。
  • 我通常使用实用程序来创建结构的内存映像,或者直接作为二进制文件,或者以符号方式,由链接器或实用程序完成修复。
  • 谢谢 - 这两个都是吸引人的建议。

标签: c data-structures code-organization


【解决方案1】:

如何使用 M4 预处理器实现高级伪语言来生成构建树所需的 C 代码?您的代码可能有一个名为 initTrees() 的函数,其主体将由 M4 从一个文件自动生成,该文件的内容是对所需树结构的描述。整个过程如下:

sample.c.m4 ---> [M4] ---> sample.c ---> [C 编译器] ---> 二进制文件

http://www.gnu.org/software/m4/

http://en.wikipedia.org/wiki/M4_(computer_language)

【讨论】:

  • 谢谢,这当然值得考虑!
猜你喜欢
  • 1970-01-01
  • 2021-04-04
  • 1970-01-01
  • 2019-10-30
  • 1970-01-01
  • 2014-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多