gpt4 book ai didi

java - 如何在 Java 中创建 C 风格的 union 体?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:55:25 26 4
gpt4 key购买 nike

我必须将我的代码段之一从 C 转换为 java。代码如下。

union commandString{
char commndStr[20];
struct{
char commnd[4];
char separator1;
char agr1[5];
char separator2;
char arg2[3];
char separator3;
char additionalArg[5];
};
};

我不想使用任何显式解析器或者我不想使用

System.arraycopy

方法。有没有办法以我喜欢的方式做到这一点?

最佳答案

Java 语言不像 C 语言那样直接支持 union 或直接控制内存布局。

但是 Oracle 确实提供了一个在 Java 5 中添加的后门,可以通过类 sun.misc.Unsafe 使用。这需要一些工作,Martin Thompson 在他的 blog 上记录了完整的细节。 .

另一种选择是用 C 语言编写,然后通过 JNI 从 Java 作为 native 函数访问它。 .

关于java - 如何在 Java 中创建 C 风格的 union 体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24837200/

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