Seite 1 von 1

Freier 16-bit Compiler für Windows 3.x?

Verfasst: So 11. Jun 2006, 15:41
von ChrisR3tro
Hallo zusammen!

Ich habe diesmal nur eine kleine Frage an die Programmierer unter Euch. Kennt jemand einen brauchbaren, frei erhältlichen Compiler für 16-bit Windows-Anwendungen?

Welche verwendet Ihr?

Gruß,
locutus

Verfasst: So 11. Jun 2006, 16:27
von bttr
Im Prinzip kann von "Auswahl" nicht die Rede sein:
(1) http://www.openwatcom.org/
(2) http://www.digitalmars.com/
(3) http://www.profan.de/download.htm
(4) Assembler + viel Handarbeit

Alles andere dürfte Löhnware (z.B. Borland C++ 3.1, Turbo Pascal für Windows 1.5, Delphi 1) oder zu exotisch (z.B. FORTRAN) sein.

Verfasst: So 11. Jun 2006, 18:26
von ChrisR3tro
Danke für die Links. Watcom kenne ich vom Namen her, den werde ich mal zuerst probieren. Die Frage ist jetzt nur, wo es die 16-bit API-Dokumentation gibt. Das MSDNhat diese nicht mehr, schätze ich. ;-)

Gruß,
locutus

Verfasst: So 11. Jun 2006, 21:49
von bttr
Da mußt du mal die OWC-Community fragen.

IMHO gib's bei Borland einen Download der Win32-API-Hilfedatei. Dort steht AFAIR auch gelistet, was vom Win16-API unterstützt wird.

Aber geht's nicht auch ohne API? ;-)

Das Buch "Programming Windows (3.1)", also 3. Ausgabe, von Charles Petzold könnte auch helfen. Bei eBay gibt's grad die, für dich nutzlose, 1. Ausgabe für Windows 1.0. 8-)

Verfasst: So 11. Jun 2006, 22:26
von ChrisR3tro
bttr hat geschrieben:Aber geht's nicht auch ohne API?
Wie soll ich ein Windows-Programm schreiben, ohne Windows API zu verwenden?

Gibt's eine Art .NET-Framework oder Microsoft Foundation Crap auch für Windows 3.x? :-)

Verfasst: Mo 12. Jun 2006, 10:34
von bttr
Natürlich. Bei Borland heißt das wohl OWL und bei MS, wie schon richtig vermutet, MFC.

Hier gibt's ein paar Infos zur fehlenden (ab 11.0c) bzw. inzwischen wieder nachgereichten Windows-Entwicklung (SDK):
http://www.azillionmonkeys.com/qed/watfaq.shtml
http://www.scitechsoft.com/products/dev ... ntent.html
http://www.openwatcom.com/index.php/History

Verfasst: Mo 12. Jun 2006, 11:26
von ChrisR3tro
Das ist ja gut zu wissen. :-)

Allerdings programmiere ich nicht gerne mit irgendwelchen Frameworks. Dadurch werden die EXE-Dateien größer und benötigen dann noch zusätzliche DLLs wie etwa mfc42.dll.

Ich denke, wenn man die Windows API (egal, ob jetzt Win16 oder Win32) nutzen kann, dann sollte man das tun. Kann nur die Effizienz des Programms steigern.

Bei Großprojekten mit riesiger GUI ist es natürlich fast unmöglich, alles mühselig zu coden. Da sehe ich's ja dann ein, daß ein Framework da Vorteile bringen kann, oder vielleicht doch lieber ein simpler RC-Editor? ;)

Gruß,
locutus

Verfasst: Mo 12. Jun 2006, 11:37
von bttr
Ich würd's auch über die API machen, aber ich hab' ja eh keine Zeit. ;-) Delphi 1 und Petzolds Buch werden wohl weiter verstauben.

Re: Freier 16-bit Compiler für Windows 3.x?

Verfasst: Sa 21. Mai 2016, 21:58
von go32
Dabei wollte ich soeben Delphi 1 vorschlagen. Im Buch Delphi für Kids ist das auch dabei neben Borland Pascal. Da ist eine WIndoes IDE dabei.

Da auch Windows 9x jetzt hier im Forum erlaubt ist, gingen auch höhere Delphi Versionen, bis Delphi 7, glaub ich. Oder Lazarus. Besser Lazarus bis Version 1.2 oder tiefer, leider weiß ich nicht, welche da die letzte Version ist, die noch unter Windows 9x läugt und auch die Plattform Go32 unterstützt. Mit Go32, dem Freepascal Dos Extender ist es aber schwierig anzupassen, da standardmäßig nur die Windows-Version des Pascal Compilers installiert wird. Leider wird die DOS Version nicht ganz im selben Bin Pfad installiert, weshalb dann unter Go32 der Linker nicht gefunden wird. Ich habe das leider noch nicht hinbekommen. Denke aber, das eine Installation des DOS Compilers im gleichen Bin Pfad aber dort unterverzeichnis go32v2 und bei den Units unter Units/go32v2 funktionieren sollte.

Das Problem ist, dass die Dos Version unter Lw:\fp\bin\go32v2\ und die Units unter Lw:\fp\units\go32v2 installiert werden. UNter Windows aber unter Lw:\fp\<Versions-Nr>\bin\i386-win32\ bze. Lw:\fp\<Versions-Nr>\units\i386-Win32

ALso so:

-Windows:

C:\lazarus\fpc\2.6.4\bin\i386-win32 die bintools
C:\lazarus\fpc\2.6.4\units\i386-win32 die freepascal Units

aber unter go32

C:\lazarus\fpc\bin\i386-win32 die bintools
C:\lazarus\fpc\units\i386-win32 die freepascal Units

statt

C:\lazarus\fpc\2.6.4\bin\go32v2 die bintools
C:\lazarus\fpc\2.6.4\units\go32v2 die freepascal Units

Sollte daher auch für DOS Programme funktionieren, wenn der untere Installationspfad beim Installer eingestellt werden kann. NIcht auf die Standardeinstellungen des Installers verlassen, wie ich das getan habe.

Die Lazarus Units befinden sich in einem anderen Pfad und sind nur für Windows Programmierung wichtig.


Locutus:

Klar, mit WinAPI ohne Widgetsets werden die Programme schön klein, aber reine API Programmierung ist doch ganz schön mühsam. Allerdings wohl doch nicht ganz zu vermeiden, da auch die bekannten Widgetsets keine Alleskönner sind und gelegentlich werden dann Windows API AUfrufe benötigt. Daher ist es auf jeden Fall gut, die wichtigsten Windows API Funktionen zu kennen.

MIch hat der Ehrgeiz gepackt. Motiviert durch die argerliche Tatsache, das für Windows jede Menge GUIs entwickelt werden, die dann doch wieder im System-Windowslook erscheinen, suche ich eine solche Windows GUI, die möglichst nur sehr wenige Windows API Funktionen aufruft. Die will ich dann mit DOS Grafik nachbauen und auf DOS aufsetzen. Die zugrunde gelegte GUI, ürsprünglich für Windows konzipiert, sollte dann auch ohne Windows unter DOS laufen.

ANdererseits haben auch hier sogar die größten DOS Fans einen Windows Rechner als Zweitrechner, oder gleich Windows 9x mit richtigem DOS darunter, nutzen also, wenn sie GUI wollen dann auch wieder Windows. Da stört mich aber der Umstand, das ein Windows Programm, das im DOS Modus von Windows gestartet wird, die allgemein bekannte Fehlermeldung auswirft:

"This program cannot run in DOS mode".

Mir wäre lieber, Windows würde im DOS Modus prüfen, ob Windows installiert ist und wenn ja, in den Windows Modus umschalten und das Programm dann starten und nur wenn pures DOS ohne Windows auf dem Rechner ist, die berühmte Felhermeldung auswerfen. :)

Wenn ich aber eine WIndows GUI mit nur wenigen Win-API Aufrufen für DOS fit machen will, muss ich ja die Windows API Funktionen nachbauen und lerne dabei deren Funktionsweise.

Re: Freier 16-bit Compiler für Windows 3.x?

Verfasst: Sa 21. Mai 2016, 22:03
von go32
Ich sehe gerade: Der Threadersteller sucht freie Compiler für 16 BIt. Von Borland geht da nur Delphi 1 oder Borland Pascal für Windows, das es mit dem Buch "Delphi für Kids" auf CD dazu gibt. Watcom wurde schon genannt.

Lazarus ist definitiv 32 Bit, läuft also nicht auf Win 3.1x

Re: Freier 16-bit Compiler für Windows 3.x?

Verfasst: Sa 21. Mai 2016, 22:32
von der_computer_sammler
.

Re: Freier 16-bit Compiler für Windows 3.x?

Verfasst: Sa 30. Jul 2016, 17:05
von matze79
Einfach Borland C Builder 3.1 mit Windows Frontend, erzeugt 16 und 32bit Code.
Läuft bei mir auf einen 286-16.

Leichenschänder :O