Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java和c代码生成的抽象语言_Java_C_Code Generation - Fatal编程技术网

java和c代码生成的抽象语言

java和c代码生成的抽象语言,java,c,code-generation,Java,C,Code Generation,我正在开发一个原生android应用程序,它既有.c又有.java代码。有时我想用相同的乳液,所以我两者都有 在本土 enum _enum_1 { VALUE_1 = 0, VALUE_2 = 1 }; typedef enum _enum_1 enum_1; 在java方面 public enum Enum1 { VALUE_1, VALUE_2 } 我的问题是,有没有一种抽象语言来描述枚举/类/结构,它可以用来为java和c语言生成代码?ASN.1(抽象

我正在开发一个原生android应用程序,它既有
.c
又有
.java
代码。有时我想用相同的乳液,所以我两者都有

在本土

enum _enum_1 {
    VALUE_1 = 0,
    VALUE_2 = 1
};

typedef enum _enum_1 enum_1;
在java方面

public enum Enum1 {
    VALUE_1,
    VALUE_2
}
我的问题是,有没有一种抽象语言来描述枚举/类/结构,它可以用来为
java
c
语言生成代码?

ASN.1(抽象语法符号1)是一种非常常用的抽象语言。 包含指向ASN.1的不同java和C生成器的链接


中列出了大量类似的接口描述语言。

请更正“VALUE_2=0,VALUE_2=1”中的键入错误。您可以使用C预处理器来完成此操作。(我这样做是为了为C和另一个类似于Pascal的HLL生成代码。)会有一些限制——我认为C联合不能被表达(语义上真正等价)在Java中。您可以在Java代码上使用reelection来编写C.@laune,它们的意思是反射。您可以将枚举声明放在一些XML中,然后应用不同的XSLT转换来生成Java、C等等。