【问题标题】:Stream I/O in Java versus C and compatibility over JNI [closed]Java 中的流 I/O 与 C 和 JNI 的兼容性 [关闭]
【发布时间】:2012-12-20 11:32:14
【问题描述】:
  1. 在 C 与 Java(在 Linux 环境中)中创建和处理输出流的方式是否存在根本差异。

  2. 是否可以从 C 函数创建的输入流中打开读取作为本机 Java 输出流(即使用 JNI)。

【问题讨论】:

  • 只是要注意这与stackoverflow.com/questions/14161355/…有关
  • 当您说“由 C 创建的输入流”时,您使用的是哪个 API? fopen()?
  • 我很难理解你在问什么。 Java JVM 通常是用 C(或 C++)实现的,所以本质上是相同的 OS 调用,但 Java 端的处理显然完全不同。我完全不明白 2)。你到底想做什么?

标签: java c linux stream java-native-interface


【解决方案1】:

我知道在 c 中字节以小端顺序排列,但在 java 中它们以大端顺序排列,这是一个主要区别。为了从 c 文件和 java 文件中读取/写入,您可能需要考虑位移

【讨论】:

  • Endian 描述了如何将字节转换为更广泛的类型。单个字节没有字节序。对于较大的类型,如 x64 上的 64 位 C 往往是小端,Java 往往更喜欢大端,但 Sparc 处理器上的 64 位和 C 中的其他类型是大端,Java 支持小端。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-05-24
  • 1970-01-01
  • 2012-01-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多