是否有可能在DOS 6.22中运行Java应用程序?

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

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


Linux gcj能够将java程序编译成没有虚拟机的可执行代码。 所以你可以在Linux机器上使用gcj来交叉编译并为DOS创建一个.EXE。 请参阅http://gcc.gnu.org/java。 对于它支持的平台列表,请参阅http://gcc.gnu.org/install/specific.html,DOS将成为列表中的第7项。

也就是说,我不认为你是基于java的rs232库即将工作,即使程序的其他部分工作正常,你也会遇到各种各样的其他限制,例如着名的Java 640K的内存限制,在实际系统中你会发现在实践中接近440K。

基于事件编程的另一个复杂因素是DOS是单线程的。 所以除了协作式多任务以外,你不能轻易使用任何形式的基于事件的编程。 这并不难,但要注意它。

在DOS下,你将基本上编写一个串行设备驱动程序来与串行端口进行通信,如操作系统驱动程序,设置寄存器和启动数据传输的方式,这是字符驱动程序在Linux中执行的方式。 这个主题有一个wikibook,它在http://en.wikibooks.org/wiki/Serial_Programming/DOS_Programming上提供了很多信息。

链接地址: http://www.djcxy.com/p/11425.html

上一篇: Is it possible to run java applications in DOS 6.22?

下一篇: Can C#/.net parse exponential hex encoded floating point numbers from strings?