1

什么是 Java-on-Linux 等价于 C 字节大小的 PC 架构硬件端口输入/输出功能?

对于输出,outb如下所示:

tmp = inb(0x61);
if (tmp != (tmp | 0x01)) 
    outb(0x61, tmp | 0x01);

对于输入,inb如下所示:

tmp = (inb(0x61) & 0xfe);
outb(0x61, tmp);

目的:我想实现一些开销比这更少的东西:

try { Runtime.getRuntime().exec("beep") } catch (IOException e) {}

作为将代码 7(bell char)发送到标准输出的替代方法,因为这似乎在 Ubuntu 中已被积极禁用。Toolkit 的哔声也是静音的。

4

1 回答 1

0

我想你叫错​​了火车。

Java 是一种面向对象的高级语言,可编译为虚拟机架构。汇编器 I/O 指令是特定于硬件处理器的。两者之间没有直接的等价关系。

您可能希望的最好结果是将您的 Java 代码(使用管道、共享内存、套接字等)与执行所需 I/O 的本机 Linux 应用程序接口。

于 2012-01-19T12:05:47.750 回答