| QuickC | |
|---|---|
Hallo-Welt-Programm undCompiler-Einstellungen von QuickC 2.51 | |
| Basisdaten | |
| Entwickler | Microsoft |
| Erscheinungsjahr | 1987[1] |
| Aktuelle Version | 2.51 (1990) |
| Betriebssystem | MS-DOS |
| Programmiersprache | C |
| Kategorie | Compiler,IDE |
| Lizenz | MS-EULA |
MicrosoftQuickC ist einCompiler und einezeichenorientierteEntwicklungsumgebung für dieProgrammierspracheC unterMS-DOS. Später folgte auch eine Version mitgrafischer Benutzeroberfläche für das BetriebssystemWindows. Es ist in allen Versionen möglich, zwischen reinemANSI C und den Spracherweiterungen von Microsoft zu wählen. Keine Version unterstütztobjektorientierte Programmierung.[2]
QuickC 1.00(Oktober 1987)
Die erste Version setzt die damalige Version des ANSI-C-Standards um und ist grundsätzlich kompatibel mitMicrosoft C 5.0. Allerdings wird das Huge-Speichermodell nicht unterstützt.[3]
DerDebuggerCodeView unterstützt QuickC, ist aber nicht im Lieferumfang enthalten.[4] Der integrierte Source-Level-Debugger von QuickC basiert jedoch auf CodeView.[3]
Die Benutzeroberfläche ist alsSingle Document Interface (SDI) gestaltet. Es können also nicht mehrereQuelltextdateien gleichzeitig geöffnet sein bzw. bearbeitet werden.[5]
Die Version hatteKompatibilitätsprobleme mit diversenFestplattencontrollern vonWestern Digital, da beide Technologien denselbenInterruptvektor für unterschiedliche Zwecke nutzten.[6]
QuickC 1.01(März 1988)
Die Version behebt diverse Grafikfehler und die zuvor genannten Kompatibilitätsprobleme mit den Festplattencontrollern von Western Digital.[3]
QuickC 2.00(Januar 1989)[7]
Für die zweite Version von QuickC wurde die zeichenorientierte Benutzeroberfläche (TUI) der Entwicklungsumgebung komplett neu erstellt.[8] Sie ähnelt jetzt der TUI vonQuickBASIC 4.5 oder dem später erschienen Microsoft C 6.0 (Programmer’s WorkBench; PWB).[9] Wie bei diesen wird nun auch einekontextsensitive Hilfe angeboten. Befindet sich derCursor innerhalb einesSchlüsselwortes oder einesBezeichners einer bekanntenFunktion,Konstanten oderCompiler-Anweisung, kann man durch Drücken derF1-Taste oder einemRechtsklick die Dokumentation für das jeweilige Sprachelement anzeigen lassen.[10][11]
Ab dieser Version besaß QuickC einen inkrementellen Compiler.[9][12] Bei Änderungen in einzelnen Dateien muss also nicht das komplette Projekt neu kompiliert werden, sondern nur die Teile, welche von den Änderungen direkt betroffen sind. Allerdings ist es nicht möglich, CodeView zusammen mit dieser Einstellung zu verwenden.[13]
Ähnlich wie beiBGI fürTurbo C/C++ werden neben Zeichenfunktionen fürgrafische Primitiven auch zusätzliche Funktionen zurVisualisierung vonstatistischen Daten bereitgestellt.[12] Dazu zählenStreu-,Linien-,Balken- undKreisdiagramme.[14]
Wie bei Microsoft C werden ab der zweiten VersionInline-Assemblerfragmente unterstützt.[9][12] Zudem werden alle Speichermodelle imReal Mode vonx86-Prozessoren unterstützt.[9] Bei den beiden Versionen zuvor war das Tiny-Modell nicht verfügbar.[8] Dieses ist u. a. notwendig zur Erstellung vonCOM-Dateien.[15]
Die erstellten Programme sind kompatibel mit Microsoft C 5.1.[16] Die Make-Dateien für denErstellungsprozess sind aufgrund der Umstellung vonMAKE aufNMAKE jedoch nicht auf Anhieb kompatibel mit denen von früheren Versionen.[17]
QuickC 2.01(Juni 1989)
Identisch mit Version 2.00. Bei dieser Version wurde QuickC lediglich zusammen mitQuickAssembler vertrieben.[18]
QuickC 2.50(Mai 1990)
Programme sind kompatibel mit Microsoft C 6.0.[19]Variablen vom Typlong double werden nun in der für den80x87Co-Prozessor typischen Form von 10-Byte (80-Bit) gespeichert, vorher war das noch in 64-Bit.[20]
QuickC 2.51(Dezember 1990)
Identisch mit Version 2.50. Bei dieser Version wurde QuickC lediglich zusammen mit QuickAssembler vertrieben.[18]
| QuickC for Windows | |
|---|---|
| Basisdaten | |
| Entwickler | Microsoft |
| Erscheinungsjahr | 1991[1] |
| Aktuelle Version | 1.00 (1991) |
| Betriebssystem | Microsoft Windows |
| Programmiersprache | C |
| Kategorie | Compiler,IDE |
| Lizenz | MS-EULA |
Im September 1991 veröffentlichte Microsoft eineintegrierte Entwicklungsumgebung für QuickC mit einergrafischen Benutzeroberfläche (GUI), die fürWindows 3.x (16-Bit) ausgelegt war.[21] Die Standard-Edition vonVisual C++ 1.0 basiert weitestgehend auf QuickC for Windows.[22][23]
Die Entwicklungsumgebung von QuickC for Windows besitzt folgende Eigenschaften bzw. bietet folgende Funktionen an:[21][24][25]
Es werden vier Projekttypen unterstützt. Die erstellten Programme sind grundsätzlich für denProtected Mode ausgelegt. Es können aber auch DOS-Programme im Real Mode erzeugt werden.
Windows EXE
Eine 16-Bit-Anwendung für Windows. Je nachdem, ob ein Hauptfenster erzeugt wird oder nicht, kann es sich dabei entweder um eineKonsolenanwendung oder um ein Programm mit grafischer Benutzeroberfläche handeln.
QuickWin EXE
Ein automatisch generiertes Grundgerüst für eine 16-Bit-Windows-Anwendung mit grafischer Benutzeroberfläche. Auf dieser befindet sich ein mehrzeiliges Ein- und Ausgabefeld, das dieStandard-Datenströme abbildet. Der Projekttyp ist für Testanwendungen geeignet, aber auch, um alte Programme aus Microsoft C 6.0 und früher unter Windows lauffähig zu machen und mit einer rudimentären grafischen Benutzeroberfläche auszustatten.[24] Klassische Programme für MS-DOS erforderten unter Windows 3.x noch einen Wechsel in den DOS-Modus, was mit diesem Projekttyp umgangen werden konnte.
Windows DLL
Eine 16-Bit-Dynamic Link Library (DLL) für Windows.
DOS EXE
Eine Konsolenanwendung für MS-DOS.
Ähnlich, wie bei allen späteren Entwicklungsumgebungen für C/C++ von Microsoft, werdenEditoren fürRessourcen bereitgestellt.[21] Diese liegen als eigenständige Applikationen vor, können aber auch aus der IDE heraus gestartet werden.[25]
Microsoft Dialog Editor
EinWYSIWYG-Editor zur Gestaltung vonDialogfenstern, die in einer Ressourcendatei abgelegt werden können. Neben den Standard-Steuerelementen von Windows (Textfelder,Schaltflächen,Kontrollkästchen etc.), können auch benutzerdefinierte Steuerelemente eingefügt werden. Diese müssen selbst gezeichnet und dieEreignisbehandlung und dieGeschäftslogik generell selbstimplementiert werden.Vererbung von bestehenden Steuerelementen funktioniert nicht, da dieses Konzept nicht durch die Programmiersprache umgesetzt werden kann.[2]
Microsoft Image Editor
Ein Editor fürRastergrafiken (Bitmaps,Mauszeiger undIcons), die ebenfalls in einer Ressourcendatei abgelegt werden können. Der Editor ähnelt der damaligen Version vonMicrosoft Paintbrush.
Caseworks QuickCase:W
DasCASE-WerkzeugQuickCase:W ermöglicht die Generierung von Quelltext für die grafische Benutzeroberfläche.[24][26] Es handelt sich dabei um eine abgespeckte Version der SoftwareCase:W der Firma Caseworks Inc.[27]
Das folgendeHallo-Welt-Programm zeigt eineMessagebox mit dem Text „Hallo Welt!“ an. Unter QuickC for Windows ist es zwingend erforderlich, dass dieHauptfunktion diePascal-Aufrufkonvention nutzt.[28]
#include<windows.h>intPASCALWinMain(HANDLEhInstance,HANDLEhPrevInstance,LPSTRlpCmdLine,intnCmdShow){returnMessageBox(NULL,"Hallo Welt!","Wikipedia",MB_ICONINFORMATION);}