2012-11-14 38 views
7

Câu hỏi này nảy sinh từ một vấn đề chúng tôi có ở đây và chúng tôi đang tìm cách giải quyết vấn đề. Chúng ta có một máy tính thực sự cũ (chạy DOS 6.22) cần giao tiếp với một ứng dụng nối tiếp được viết bằng Java. Nhưng chúng tôi đã không tìm thấy thư viện rs232 dựa trên sự kiện C/C++ để thực hiện chương trình cho máy DOS (chưa), cũng như một chương trình đã được biên dịch để thực hiện công việc này. Nhưng kể từ khi chúng tôi đã có một sự kiện Java dựa trên chương trình rs232 làm việc, chúng tôi đã tự hỏi nếu nó có thể biên dịch nó và làm cho một exe của nó để cài đặt nó trong máy cũ.Có thể chạy các ứng dụng java trong DOS 6.22 không?

Đó sẽ là một cách dễ dàng trong vấn đề nếu có thể, nhưng nếu không, có thư viện rs232 nào để xây dựng chương trình cho máy cũ của chúng tôi không? Cảm ơn trước.

+0

Tôi tìm thấy trang web bằng cách nhập "cổng nối tiếp DOS 6.22" vào Google: http://en.wikibooks.org/wiki/Serial_Programming/DOS_Programming –

+10

Tôi tự hỏi có bao nhiêu đĩa mềm bạn cần cài đặt java trên dos :) – irreputable

+0

Không tìm thấy ở đây: http://www.oracle.com/technetwork/java/javase/config-417990.html – PiotrNycz

Trả lời

3

Linux gcj có khả năng biên dịch chương trình java thành mã thực thi chạy mà không có máy ảo. Vì vậy, bạn có thể sử dụng gcj trên một máy linux để crosscompile và tạo một .EXE cho DOS. Xem http://gcc.gnu.org/java. Và đối với danh sách các nền tảng nó hỗ trợ xem http://gcc.gnu.org/install/specific.html, DOS sẽ là mục thứ 7 trong danh sách.

Điều đó nói rằng, tôi không nghĩ bạn là thư viện rs232 dựa trên java sẽ hoạt động, ngay cả khi phần còn lại của chương trình hoạt động, và bạn sẽ có tất cả các loại hạn chế khác Java sẽ không dễ dàng sống với , giống như giới hạn bộ nhớ 640K nổi tiếng mà bạn sẽ tìm thấy trong thực tế gần hơn với 440K trên các hệ thống thực tế.

Một biến chứng khác bạn sẽ thấy với lập trình dựa trên sự kiện là DOS là một luồng đơn. Vì vậy, bạn không thể dễ dàng sử dụng bất kỳ hình thức lập trình dựa trên sự kiện ngoại trừ đa nhiệm hợp tác xã. Đây không phải là khó, nhưng hãy nhận biết nó. Trong DOS bạn về cơ bản sẽ viết một trình điều khiển thiết bị nối tiếp với cổng nối tiếp, như trình điều khiển hệ điều hành, thiết lập thanh ghi và khởi tạo truyền dữ liệu theo cách mà một trình điều khiển char sẽ làm điều đó trong linux. Có một wikibook về chủ đề khá thông tin tại http://en.wikibooks.org/wiki/Serial_Programming/DOS_Programming.