Linux上从Java访问PC硬件端口
Linux上的Java相当于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(贝尔字符)发送到标准输出的替代方案,因为在Ubuntu中,这似乎已经被严重禁用。工具箱的嘟嘟声也是静音的
# 1 楼答案
我想你找错火车了
Java是一种面向对象的高级语言,用于编译虚拟机体系结构。汇编程序I/O指令是特定于硬件处理器的。两者之间没有直接的等价关系
您所希望的最好方法是将Java代码(使用管道、共享内存、套接字等)与执行所需I/O的本机Linux应用程序进行接口