"uint64", dependents => [ -6ren">
gpt4 book ai didi

c - 从对象的高级定义生成 C 结构

转载 作者:太空宇宙 更新时间:2023-11-04 03:44:02 25 4
gpt4 key购买 nike

我必须定义对象的高级定义,例如:

obj1 => [
name => "object1",
type => "uint64",
dependents => [
{type => "unit32", name => "dep1"},
{type => "uint32", name => "dep2"}
],
default_value = "100"
]

由此我想生成 C 结构和一些辅助例程,例如:

struct_dependents {
int type;
char name[MAX];
}

struct struct_obj1 {
char name[MAX];
int type;
struct dependents deps[MAX_DEP];
unit64 default_value;
}

// Some initializations..

早些时候我认为我可以在 .pm(perl 模块)文件中定义高级对象,然后使用 perl 生成 C 代码,但是如果对象定义,以这种方式编写代码来生成 C 代码可能容易出错并且难以维护 future 的变化。

我想知道的是 - 是否有现成的工具可以让我们编写高级对象定义并自动生成它们的 C 结构?

最佳答案

C 有很多代码生成器——您更有可能找到使用 xml 等中间语法的东西;一个快速谷歌出现了xml2c .您可以使用 XML::Simple 将哈希值保存到 xml。

更多examples可以在谷歌上找到。

如果您希望推出自己的代码生成,使用模板工具包可提供 flexible方法。

关于c - 从对象的高级定义生成 C 结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26332548/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com