Borland C 3.1 Code mit PureBasic nutzen
Borland C 3.1 Code mit PureBasic nutzen
Hi,
habe ein DOS Programm in C, das ich schrittweise auf Windows migrieren möchte. Das Problem ist, 16Bit mag Windows 10 nicht und wenn ich was neues dazuschreiben will, mit C dauert das ein vielfaches länger als mit PB. Trotzdem schaffe ich eine Komplettmigration zeitlich nicht. Es gibt in dem Programm eine Reihe von Menüfunktionen sowie ein paar kleine Routinen für die Bildschirmausgabe und eine Funktion, die für Tastatureingaben abgefragt wird. Wie ich gesehen habe, kann man C in eine lib compilieren.
1. Hat jemand Erfahrung welcher Compiler sich hier eignet, auch im Hinblick auf die Herkunft des Codes
2. Im C Code werden ja die Bildschirmausgabe aufgerufen, wie bekomme ich diese Aufrufe in das PB Programm. (Habe zwar eine Idee, aber vielleicht gibt es eine bessere Möglichkeit.)
3. Um Tastatureingaben rein zu bekommen, müßte der programminterne Puffer gefüllt werden können, während das Programm im C Teil läuft.
4. Wenn das C Programm auf eine Eingabe wartet, müßte die CPU auf Idle gestellt werden.
Kann mir jemand ein paar Tips geben oder ist das ganze als unrentabel/unmöglich anzusehen.
habe ein DOS Programm in C, das ich schrittweise auf Windows migrieren möchte. Das Problem ist, 16Bit mag Windows 10 nicht und wenn ich was neues dazuschreiben will, mit C dauert das ein vielfaches länger als mit PB. Trotzdem schaffe ich eine Komplettmigration zeitlich nicht. Es gibt in dem Programm eine Reihe von Menüfunktionen sowie ein paar kleine Routinen für die Bildschirmausgabe und eine Funktion, die für Tastatureingaben abgefragt wird. Wie ich gesehen habe, kann man C in eine lib compilieren.
1. Hat jemand Erfahrung welcher Compiler sich hier eignet, auch im Hinblick auf die Herkunft des Codes
2. Im C Code werden ja die Bildschirmausgabe aufgerufen, wie bekomme ich diese Aufrufe in das PB Programm. (Habe zwar eine Idee, aber vielleicht gibt es eine bessere Möglichkeit.)
3. Um Tastatureingaben rein zu bekommen, müßte der programminterne Puffer gefüllt werden können, während das Programm im C Teil läuft.
4. Wenn das C Programm auf eine Eingabe wartet, müßte die CPU auf Idle gestellt werden.
Kann mir jemand ein paar Tips geben oder ist das ganze als unrentabel/unmöglich anzusehen.
Re: Borland C 3.1 Code mit PureBasic nutzen
16 Bit gibt es schon seit Vista nicht mehr.
Möchtest du eine Konsole (Eingabeaufforderung) schreiben oder eine GUI-Anwendung?
Was möchtest du denn genau machen? Nur Tasten abfragen und was auf den Bildschirm ausgeben? Aber in welcher Form? In einem Fenster oder in einer Konsole?
Oder muss es im DOS lauffähig sein? Wenn ja, dann ist es mit PB nicht möglich, auch mit einer C-Lib nicht, da das von PB erstellte Executable-Format 32 oder 64 Bit ist.
Eine andere Möglichkeit wäre, wenn du dein bereits geschriebenes DOS-Programm in einer DOSBox unter Windows 10 laufen lässt: https://www.chip.de/downloads/DOSBox_13015039.html
Möchtest du eine Konsole (Eingabeaufforderung) schreiben oder eine GUI-Anwendung?
Was möchtest du denn genau machen? Nur Tasten abfragen und was auf den Bildschirm ausgeben? Aber in welcher Form? In einem Fenster oder in einer Konsole?
Oder muss es im DOS lauffähig sein? Wenn ja, dann ist es mit PB nicht möglich, auch mit einer C-Lib nicht, da das von PB erstellte Executable-Format 32 oder 64 Bit ist.
Eine andere Möglichkeit wäre, wenn du dein bereits geschriebenes DOS-Programm in einer DOSBox unter Windows 10 laufen lässt: https://www.chip.de/downloads/DOSBox_13015039.html
Re: Borland C 3.1 Code mit PureBasic nutzen
Danke RSBasic für die Antwort
Das Programm ist ein Konsolenprogramm, DOS 80x25. Plan wäre, im ersten Schritt das wieder auf einer Console laufen lassen zu können unter aktuellem Windows. Wenn ich neue Funktionen brauche, mache ich mir die mit PB. Wäre schön, wenn man zusätzlich (!) eine GUI hätte, schon zu Migrationszwecken. Möglich wäre es auch, auf einer GUI in einem Fenster die Konsole laufen zu lassen (ist wohl etwas aufwändiger)
In einer Box läuft das Programm zur Zeit allerdings unter XP. Das Problem ist, wenn ich eine neue Funktion hinzufügen will, mit C das ist so nervig, nicht weil ich das nicht könnte, sondern weil ich im Vergleich zu PB ein vielfaches an Zeilen und damit an Zeit brauche.
Das Programm ist ein Konsolenprogramm, DOS 80x25. Plan wäre, im ersten Schritt das wieder auf einer Console laufen lassen zu können unter aktuellem Windows. Wenn ich neue Funktionen brauche, mache ich mir die mit PB. Wäre schön, wenn man zusätzlich (!) eine GUI hätte, schon zu Migrationszwecken. Möglich wäre es auch, auf einer GUI in einem Fenster die Konsole laufen zu lassen (ist wohl etwas aufwändiger)
In einer Box läuft das Programm zur Zeit allerdings unter XP. Das Problem ist, wenn ich eine neue Funktion hinzufügen will, mit C das ist so nervig, nicht weil ich das nicht könnte, sondern weil ich im Vergleich zu PB ein vielfaches an Zeilen und damit an Zeit brauche.
Re: Borland C 3.1 Code mit PureBasic nutzen
also du musst auf jeden Fall den Code auf 32bit hochheben, anders kommst du nicht wirklich weiter.
Ansonsten schau dir mal RunProgramm() an. Damit kannst du andere Programme aufrufen und die ein/ausgabe übernehmen.
Ansonsten schau dir mal RunProgramm() an. Damit kannst du andere Programme aufrufen und die ein/ausgabe übernehmen.
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
Re: Borland C 3.1 Code mit PureBasic nutzen
Profi-Tipp: RunProgramm() zwei- bzw. viermal ausführen. Dann hast Du Deine 32 bzw. 64 bit.GPI hat geschrieben:Ansonsten schau dir mal RunProgramm() an.
<gd&r>
Hygge
Re: Borland C 3.1 Code mit PureBasic nutzen
@Kiffi: Die entscheidende Frage ist nur, muß ich RunProgramm() sequenziell oder rekursiv aufrufen
Bei der Gelegenheit: von Purebasic gibt es ja 32 Bit und 64 Bit Version, kann die 64 Bit auch 32 Bit C Module aufrufen?
Und das Programm ist interaktiv, also RunProgramm() hilft leider nicht weiter.
Bei der Gelegenheit: von Purebasic gibt es ja 32 Bit und 64 Bit Version, kann die 64 Bit auch 32 Bit C Module aufrufen?
Und das Programm ist interaktiv, also RunProgramm() hilft leider nicht weiter.
Re: Borland C 3.1 Code mit PureBasic nutzen
Hallo Vi-P,
hast du den gesamten Quelltext des alten Dos - C - Programm ?
Verwendet das Dos-Programm irgendwelche spezielle (DOS) Hardware-Funktionen ?
Verwendet das Dos-Programm eine spezielle Konsolengrafikbibliothek für DOS ?
..... ?
Als erstes musst du ja mal die Interrupts und alten Funktionen an die modernere Windows-API anpassen (PureBasic bietet da auch schon sehr viel per Standard).
Und so weiter...
Willst du das Programm über Konsolen-GUI wieder neu aufsetzen, oder als Windows (Fenster) - Portierung ?
hast du den gesamten Quelltext des alten Dos - C - Programm ?
Verwendet das Dos-Programm irgendwelche spezielle (DOS) Hardware-Funktionen ?
Verwendet das Dos-Programm eine spezielle Konsolengrafikbibliothek für DOS ?
..... ?
Als erstes musst du ja mal die Interrupts und alten Funktionen an die modernere Windows-API anpassen (PureBasic bietet da auch schon sehr viel per Standard).
Und so weiter...
Willst du das Programm über Konsolen-GUI wieder neu aufsetzen, oder als Windows (Fenster) - Portierung ?
Betriebssysteme: div. Windows, Linux, Unix - Systeme
no Keyboard, press any key
no mouse, you need a cat
no Keyboard, press any key
no mouse, you need a cat
Re: Borland C 3.1 Code mit PureBasic nutzen
Ist halt die Frage : Was macht das Programm / Was soll es können ?
Dann kann man eher sagen klappt ohne Aufwand... mit Aufwand... unmöglich.... so in der Art
Dann kann man eher sagen klappt ohne Aufwand... mit Aufwand... unmöglich.... so in der Art
PureBasic 6.10 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom
Re: Borland C 3.1 Code mit PureBasic nutzen
Antworten:
1. C Source ist vollständig vorhanden, außer den compiler libs
2. Spezielle DOS Funktionen habe ich nur für die Textbildschirmausgabe (Dafür gibt es eine Routine, die aufgerufen wird wenn was auf den Bildschirm soll) das Abfangen der Tastatur (Gibt es eine Funktion, die Tastatur Kommandos zurückgibt) und um an Verzeichnisse (findfirst()/findnext(), an mehreren Stellen) kommen. Wenn ich mich nicht irre.
3. Ziel wäre zunächst so viel wie möglich zu übernehmen und das ganze im Texmodus laufen zu lassen.
1. C Source ist vollständig vorhanden, außer den compiler libs
2. Spezielle DOS Funktionen habe ich nur für die Textbildschirmausgabe (Dafür gibt es eine Routine, die aufgerufen wird wenn was auf den Bildschirm soll) das Abfangen der Tastatur (Gibt es eine Funktion, die Tastatur Kommandos zurückgibt) und um an Verzeichnisse (findfirst()/findnext(), an mehreren Stellen) kommen. Wenn ich mich nicht irre.
3. Ziel wäre zunächst so viel wie möglich zu übernehmen und das ganze im Texmodus laufen zu lassen.
- Captn. Jinguji
- Beiträge: 395
- Registriert: 07.06.2005 19:47
- Computerausstattung: PB 4.73x64, i7, WIN 10x64, ATI NVidia RTX 2070
- Wohnort: Witten
Re: Borland C 3.1 Code mit PureBasic nutzen
Ich nehme mal an, dass Du den Borland Compiler nicht mehr auftreiben bzw. ans Fliegen bringen kannst ?
Den guten alten WATCOM C-/C++ Compiler gibt's immer noch, und er ist offiziell "free" und kann auch native unter WIN7/64 installiert werden;
ob es native unter WIN 10 geht, weiss ich nicht, aber unter WIN 10 wird's ja wohl auch VMs geben ? (Bin vor 3 Jahren wieder auf 7 zurück gegangen, weil 10 allzu unverschämt war).
Allerdings habe ich noch im Kopf, dass Borland irgend so ein "Unit" Konzept
hatte, das - als ich mal kurz Kontakt dazu hatte - zu keinem anderen C-Compiler passte.
Der WATCOM "kann" auch nicht mit Borland-Units, aber sonst so ziemlich alles (außer 64 Bit) - insbesondere auch 16/32 Bit DOS EXE / libs- erstellen, auch wenn er unter Win 7 64 Bit installiert wird. Test der erstellten SW dann am besten in einer VM mit echtem DOS.
Über wieviel tausend Codezeilen und welchen Zeitrahmen reden wir denn ?
Den guten alten WATCOM C-/C++ Compiler gibt's immer noch, und er ist offiziell "free" und kann auch native unter WIN7/64 installiert werden;
ob es native unter WIN 10 geht, weiss ich nicht, aber unter WIN 10 wird's ja wohl auch VMs geben ? (Bin vor 3 Jahren wieder auf 7 zurück gegangen, weil 10 allzu unverschämt war).
Allerdings habe ich noch im Kopf, dass Borland irgend so ein "Unit" Konzept
hatte, das - als ich mal kurz Kontakt dazu hatte - zu keinem anderen C-Compiler passte.
Der WATCOM "kann" auch nicht mit Borland-Units, aber sonst so ziemlich alles (außer 64 Bit) - insbesondere auch 16/32 Bit DOS EXE / libs- erstellen, auch wenn er unter Win 7 64 Bit installiert wird. Test der erstellten SW dann am besten in einer VM mit echtem DOS.
Über wieviel tausend Codezeilen und welchen Zeitrahmen reden wir denn ?
Ist das Kunst hier, oder kann das weg ?