2015-01-07 25 views
5

Tôi đang cố gắng tìm giải pháp cho phép tôi biên dịch mã C thành một tệp thực thi DOS từ Windows 7 64 bit. Gần đây tôi đã cập nhật từ XP 32-bit lên Win7 64-bit, và bây giờ trình biên dịch Borland C++ 5.0 của tôi sẽ không hoạt động. Tôi nhận được một lỗi khi nó cố gắng gọi tlink.exe 16-bit. Tôi đang cố gắng tránh mang theo một máy tính khác với XP nhưng điều đó sẽ phải là hành động của tôi nếu tôi không thể tìm ra một thứ gì đó khác sớm.Cần trình biên dịch C cho Windows 7 64 bit, để biên dịch sang mục tiêu DOS

Mục tiêu của tôi là một FreeDOS chạy x86 được nhúng. Nhiều như tôi muốn chuyển sang Linux, tôi không thể đủ thời gian để chuyển đổi. Ngoài đường cong học tập không bao giờ sử dụng Linux, phần lớn mã của tôi phụ thuộc vào DOS và sẽ phải được viết lại.

Tôi hy vọng có một thiết lập cửa sổ tôi chỉ có thể thay đổi nhưng nghiên cứu của tôi cho đến nay dẫn tôi tin rằng tôi cần một sự thay đổi quyết liệt hơn cho quá trình của mình. Tôi đã đánh hơi ở Turbo C 2.01, DJGPP, DOSbox ... không thực sự quá tự tin để đi xuống bất kỳ con hẻm nào mà không có một số đầu vào bên ngoài

+5

cách chạy xp trong máy ảo bằng virtualbox – pm100

+1

Mã 16bit sẽ không chạy tự nhiên trên cửa sổ 64 bit (hệ thống con 16 bit không có mặt). Tôi đã có may mắn với DOSBox, và nó khá dễ dàng để thiết lập và làm việc. – Petesh

Trả lời

3

Chạy Virtual XP hoặc VirtualBox và cài đặt Borland C++ bên trong. BTW, có phiên bản 5.02 với một số bản sửa lỗi (trong trường hợp phiên bản của bạn chính xác là 5.0).

2

Nếu bạn có thể tìm một Trình biên dịch Microsoft cũ, như 16 bit C/C++ 1.52 (được bao gồm trong CD-ROM C/C++ 4.1 32 bit) hoặc C 8.00 hoặc cũ hơn, nó chạy bằng bộ mở rộng dos hoặc trong cửa sổ điều khiển dos 32 bit.

Tại sao bạn không thể chạy trình biên dịch Borland bằng FreeDOS?

Bạn có thể thử tạo một máy ảo có MSDOS trên đó, nhưng bạn phải tìm cách cài đặt MSDOS 6.22 trên máy ảo. Tại trang hỗ trợ của Microsoft, chúng có liên kết đến một tệp ISO có khả năng khởi động cho MSDOS 6.22. Tôi vẫn có đĩa mềm gốc và bắt đầu với những đĩa mềm trên một hệ thống cũ có ổ đĩa mềm. Có một chút rắc rối khi nhập/xuất các tệp đến/từ máy ảo.

Đây là config.sys mà tôi sử dụng có vẻ như hoạt động với máy ảo Win 7. Tôi đã phải tăng bộ đệm, ngăn xếp và tệp để tránh sự cố tràn ngăn xếp với thiết lập này.

dos=high,umb 
buffers=40,0 
files=60 
lastdrive=e 
shell=c:\command.com c:\ /e:1024 /p 
stacks=64,512 
switches=/f 
device=c:\dos\himem.sys /numhandles:64 /testmem:off 
device:c:\dos\emm683.exe ram i=b100-b7ff i=c600-c7ff i=cc00-cfff i=e600-efff frame=d000 a=32 d=128 notr 
devicehigh=c:vmadd\cdrom.sys /d:mscd001 

Đây là autoexec.bat mà tôi sử dụng (smartdrv là một chút vô nghĩa trong trường hợp này nên tôi nhận xét nó với tiền tố "rem").

c:\dos\emm386 auto 
lh c:\dos\mscdex.exe /d:mscd001 /m:7 
rem lh c:\dos\smartdrv.exe 
lh c:\vmadd\mouse.com 
set path=c:\dos 
set blaster=a220 i5 d1 h5 p330 t6 
prompt $p$g 
1

Đối với một trình biên dịch, Open Watcom dường như là lựa chọn tốt nhất trong tình huống của bạn. FrameworkPascal (viết bằng phiên bản cũ của Watcom) cung cấp một bộ mở rộng 32 bit. Về việc tạo ra một máy ảo FreeDOS, hãy lấy các công cụ từ Microsoft SysInteral. Chúng bao gồm một công cụ tạo VHD. Một khi bạn nhận được một FreeDOS đang chạy trong một máy ảo, bạn có thể chỉ đơn giản là SYS VHD và bắt đầu nó bất cứ nơi nào. Có rất nhiều sẵn sàng để chạy hình ảnh ISO cho FreeDOS, một trong những đáng nói đến là Seagate Seatools cho DOS đang được phân phối với hạt nhân FreeDOS.

Giải pháp tốt nhất (nhưng không chỉ) của bạn để chạy tất cả có thể là XPMode trên Windows 7 Pro. Nó chạy Windows XP 32 mà tất nhiên cung cấp khả năng tương thích 100% trong suốt thông qua NTVDM của nó với chế độ thực 16 bit DOS, bảo vệ 16 bit (Windows 3.1) và các bộ mở rộng DOS 32 bit. NTVDM bằng cách này là một tính năng có thể được kích hoạt trên Windows 10 Pro nhưng nó vẫn chưa được nhìn thấy chính xác những gì có thể được thực hiện với nó ở đó.

XPMode là bản tải xuống miễn phí từ Microsoft cài đặt phiên bản Windows XP 32 bit miễn phí trong máy ảo trên Windows 7 Pro với chia sẻ đầy đủ bộ đệm cắt/sao chép, USB, ổ đĩa, màn hình và thẻ mạng (truy cập web). Nó có thể được chuyển đổi giữa một cửa sổ và toàn màn hình.Việc cài đặt XPMode được tự động hóa (sau khi kích hoạt Windows 7 Pro VM). Microsoft cung cấp các bản sửa lỗi nóng có thể tải xuống khác nhau để cập nhật sổ đăng ký để kích hoạt máy ảo. Có một bản sửa lỗi hỗ trợ MS có thể tải xuống được chạy để cho phép cài đặt trên kiến ​​trúc AMD Bulldozer. XPMode hibernate máy tính để bàn của nó và ổ đĩa cứng ảo làm cho nó một môi trường hiệu quả hơn nhiều so với một hệ thống dựa trên phần cứng.

Với một chút công việc thêm Windows XP 32 bit có thể được cài đặt trên bất kỳ máy ảo nào bao gồm Microsoft Virtual Machine trên Windows XP 64 bit cũng như Oracle Box và VMWare. Tuy nhiên, XPMode có lẽ là giải pháp mượt mà nhất vì một số cài đặt như MS Virtual Machine cho Windows XP 64 bit không sử dụng toàn bộ màn hình vật lý ở chế độ toàn màn hình (chỉ khoảng 90% của nó). Nếu bạn cài đặt trình duyệt và email trong XPMode, bạn có thể hiển thị toàn màn hình và quên các phiên bản Windows mới.

Các vấn đề liên quan