是否可以在DOS 6.22中运行java应用程序?

Jos*_*rez 7 c c++ java dos

这个问题源于我们在这里遇到的问题,我们正在寻找解决问题的方法.我们有一台非常老的机器(运行DOS 6.22),它需要与用Java编写的串行应用程序进行通信.但是我们既没有找到基于C/C++事件的rs232库来实现DOS机器的程序,也没有找到已编译的程序来完成这项工作.但是因为我们已经有一个基于rs232的Java事件程序,所以我们想知道是否有可能编译它并从中创建一个.exe来将它安装在旧机器中.

如果可能的话,这将是一个简单的方法,但如果不是,是否有任何rs232库来为我们的旧机器构建程序?提前致谢.

chr*_*her 3

Linux gcj能够将java程序编译成无需VM即可运行的可执行代码。因此,您可以在 Linux 机器上使用 gcj 交叉编译并创建 DOS 的 .EXE。请参阅http://gcc.gnu.org/java。有关其支持的平台列表,请参阅http://gcc.gnu.org/install/specic.html,DOS 将是列表中的第 7 项。

也就是说,我认为你基于java的rs232库不会工作,即使程序的其余部分确实工作,并且你将面临Java无法轻易忍受的各种其他限制,就像著名的640K 内存限制,您会发现在实际系统中实际上更接近 440K。

您会发现基于事件的编程的另一个复杂之处是 DOS 是单线程的。因此,除了协作多任务处理之外,您无法轻松使用任何形式的基于事件的编程。这并不难,但要注意这一点。

在 DOS 中,您本质上是编写一个串行设备驱动程序来与串行端口通信,就像操作系统驱动程序一样,设置寄存器并启动数据传输,就像 Linux 中的字符驱动程序一样。在http://en.wikibooks.org/wiki/Serial_Programming/DOS_Programming上有一本关于该主题的维基百科,内容非常丰富。