MetalanguageforCodeGeneratingPackedStructsforANSI-CandC#Structs定义结构和代码以获取/设置成员。问题是该结构已经存在于代码中,并且这种“元语言”将被用作对原始手工编码结构的逐位替换,以允许生成描述该结构的标头。关键是这些构造被用作C#应用程序和嵌入式设备之间协议的一部分(不是基于Linux,认为更小,更受限制,如PIC或CM0。)元语言将作为元语言需要支持接收它也是当数据可用时,最好对数据进行有限的验证。到目前为止,我看过的所有这些都非常适合文档编制和构建新协议,但尽量保持与现有协议的兼容性,并且由于数据编组中固有的类型编码而无法满足这些协议。我还查看了ASN.1的ECN编码,但这似乎太难以理解并且导致文档出现问题。我查看了从C结构生成C#结构,但那里没有好的选择。有什么建议么?你要的是程序转换系统。这些工具可以读取任意的计算机语言实例并将它们转换为其他有效的语言实例,有时是同一种语言,有时是不同的语言。它们是通用的,你给它们描述你要操作的语言,然后它们就可以对那些语言进行操作。这个领域的好工具允许您根据感兴趣的语言的(“表面”)语法编写代码转换,基本上是以“如果你看到它,用这个替换它”的形式。对于OP的场景,基本的转换是“如果你在结构中看到这个槽,用相应的getter和setter替换它,并替换目标语言中的结构成员。在你的情况下,你需要在3种情况下这样做一个选择:然后你必须坐下来,为工具定义语言(如果它们还没有被定义),并构建转换。(完全披露:我构建了这样一个工具。见我的简历)。以上是C#学习教程:用于代码的元语言为ANSI-C和C#Structs生成封装结构。如果对大家有用,需要进一步了解C#学习教程,希望大家多加关注——本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
