2015-01-07 31 views
5

Sto cercando di trovare una soluzione che mi consenta di compilare il codice C su un eseguibile DOS da Windows 7 a 64 bit. Ho recentemente aggiornato da XP a 32 bit a Win7 a 64 bit, e ora il mio compilatore Borland C++ 5.0 non funzionerà. Viene visualizzato un errore quando tenta di chiamare tlink.exe a 16 bit. Sto cercando di evitare di portare su un altro computer con XP ma questo dovrà essere il mio corso d'azione se non riesco a capire qualcos'altro presto.È necessario compilatore C per Windows 7 64-bit, per compilare il target DOS

Il mio obiettivo è un x86 integrato che esegue FreeDOS. Per quanto mi piacerebbe passare a Linux, non posso permettermi il tempo che la transizione richiederebbe. A parte la curva di apprendimento di non aver mai usato Linux, gran parte del mio codice è dipendente dal DOS e dovrebbe essere riscritto.

Spero ci sia un settaggio per Windows Posso solo cambiare ma la mia ricerca finora mi porta a credere che ho bisogno di un cambiamento più drastico al mio processo. Ho annusato Turbo C 2.01, DJGPP, DOSbox ... non proprio troppo sicuro di andare in nessuno di quei vicoli senza qualche input esterno

+5

che ne dici di eseguire xp in una VM utilizzando virtualbox – pm100

+1

il codice a 16 bit non verrà eseguito in modo nativo su finestre a 64 bit (il sottosistema a 16 bit non è presente). Ho avuto fortuna con DOSBox, ed è abbastanza facile da configurare e lavorare. – Petesh

risposta

3

Eseguire Virtual XP o VirtualBox e installare Borland C++ all'interno. A proposito, c'è la versione 5.02 con alcune correzioni (nel caso in cui la tua versione è esattamente 5.0).

2

Se riesci a trovare un vecchio Microsoft Compiler, come 16 bit C/C++ 1.52 (che è incluso nel cd-rom 32 bit C/C++ 4.1) o C 8.00 o precedente, viene eseguito utilizzando un dos extender o in una finestra della console DOS a 32 bit.

Perché non è possibile eseguire il compilatore Borland utilizzando FreeDOS?

Si potrebbe provare a creare una macchina virtuale con MSDOS su di esso, ma si dovrebbe trovare un modo per installare MSDOS 6.22 sulla macchina virtuale. Nel sito di supporto di Microsoft, dispongono di collegamenti a un file ISO avviabile per MSDOS 6.22. Ho ancora i dischetti originali e ho iniziato con quelli su un vecchio sistema che ha un lettore floppy. È un po 'imbarazzante importare/esportare file da/verso la macchina virtuale.

Questo è il config.sys che utilizzo sembra funzionare con la macchina virtuale Win 7. Ho dovuto aumentare buffer, stack e file per evitare un problema di overflow dello stack con questa configurazione.

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 

Questa è l'autoexec.bat che uso (smartdrv è un po 'inutile, in questo caso in modo ho commentato fuori con prefisso "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

Come per un compilatore, Open Watcom mi sembra la scelta migliore per la vostra situazione. FrameworkPascal (scritto nella vecchia versione di Watcom) fornisce un extender a 32 bit. Per quanto riguarda la creazione di macchine virtuali FreeDOS, è possibile prelevare gli strumenti da Microsoft SysInteral. Includono uno strumento che crea un VHD. Una volta ottenuto un FreeDOS in esecuzione su una VM, puoi semplicemente SYS il VHD e avviarlo ovunque. Sono disponibili molte immagini ISO per FreeDOS, uno dei quali è Seagate Seatools per DOS che viene distribuito con il kernel FreeDOS.

La migliore soluzione (ma non solo) per l'esecuzione di tutto ciò che è probabilmente XPMode su Windows 7 Pro. Esegue Windows XP 32 che fornisce una compatibilità trasparente al 100% tramite NTVDM con modalità 16 bit DOS, 16 bit protetti (Windows 3.1) e 32 bit DOS. NTVDM a proposito è una funzionalità che può essere attivata su Windows 10 Pro ma non è ancora stato visto cosa si possa fare esattamente con esso.

XPMode è un downnload gratuito di Microsoft che installa una versione gratuita di Windows XP a 32 bit in una macchina virtuale su Windows 7 Pro con la piena condivisione del cutpaste/buffer di copia, USB, unità, schermo e scheda di rete (accesso web). Può essere commutato tra una finestra e lo schermo intero.L'installazione di XPMode è automatizzata (dopo l'attivazione di Windows 7 Pro VM). Microsoft fornisce varie correzioni scaricabili che aggiornano il registro per attivare la VM. È disponibile un hotfix scaricabile con supporto per MS che deve essere eseguito per consentire l'installazione sull'architettura AMD Bulldozer. XPMode ibernerà il suo desktop e i dischi rigidi virtuali rendendolo un ambiente molto più produttivo di un sistema basato su hardware.

Con un po 'di lavoro extra, è possibile installare Windows XP a 32 bit su qualsiasi macchina virtuale, tra cui Microsoft Virtual Machine su Windows XP 64 bit, Oracle Box e VMWare. XPMode è probabilmente la soluzione più semplice poiché alcune installazioni come MS Virtual Machine per Windows XP 64 bit non utilizzano il display fisico completo a schermo intero (solo circa il 90% di esso). Se installi il browser e l'email in XPMode puoi vivere a schermo intero e dimenticarti delle nuove versioni di Windows.