Das Hauptproblem
Verfasser: (Norbert) Südland, Aalen, Deutschland
Das erste Problem zu Beginn lautet: Wie kann ein Programm zum Laufen gebracht werden?
In der Tat gibt es mehrere Möglichkeiten, um ein C-Programm unter Windows zu starten:
- Die übliche Funktion main (Hauptfunktion), wie bereits von
Kernighan und Ritchie, [1988KR]
bekannt;
- die neue Funktion wmain (weite_Hauptfunktion), um mit
Unikode-Buchstaben in den Argumenten zu laufen;
- die neue Windows-Funktion WinMain (Windows_Hauptfunktion), ohne eine
automatisierte Joker-Möglichkeit *.*;
- die neue Windows-Funktion wWinMain (weite_Windows_Hauptfunktion),
ohne Dokumentation, ohne automatisierte Joker-Möglichkeit *.*, aber mit
Unikode-Buchstaben in den Argumenten lauffähig.
Die ersten beiden Funktionen beginnen mit einem Textfenster, während die beiden letzten
Funktionen ein neues Grafikfenster statt ein Textfenster starten.
Dies bedeutet für die Praxis:
- Wenn Sie im Textmodus nur 256 Buchstaben Ihrer Kodeseite verwenden wollen, dann
verwenden Sie weiterhin main (Hauptfunktion).
- Wenn Sie im Textmodus alle 65536 Unikode-Buchstaben verwenden wollen, dann
verwenden Sie wmain (weite_Hauptfunktion).
- Wenn Sie im Grafikmodus nur 256 Buchstaben Ihrer Kodeseite verwenden wollen, dann
verwenden Sie WinMain (Windows_Hauptfunktion).
- Wenn Sie im Grafikmodus alle 65536 Unikode-Buchstaben verwenden wollen, dann
verwenden Sie wWinMain (weite_Windows_Hauptfunktion).
Zu jeder dieser Möglichkeiten müssen die richtigen Einstellungen für den Binder in der
zugehörigen Erzeugungsdatei korrekt genannt werden.
Diese Notwendigkeit kann durch eigene Programme bewältigt werden, die zum Beispiel eine
Quelldatei mit Buchstaben zu 8 Bit mit main (Hauptfunktion) oder WinMain
(Windows_Hauptfunktion) starten, während eine Quelldatei mit Unikode-Buchstaben
auf wmain (weite_Hauptfunktion) oder wWinMain (weite_Windows_Hauptfunktion)
führt.
Nach dem Programmstart kann das Startfenster vom Programm geschlossen und von einem
Grafik- oder Textfenster abgelöst werden.
Es sind auch Programme möglich, die nur im Hintergrund eine Datei bearbeiten.