lcc-win32

lcc-win32 ist eine seit Jahren erhältliche ANSI-C, C99 Entwicklungsumgebung für Windows. Der Autor ist Jacob Navia. Der Compiler (LCC = little C compiler) beruht auf einer Entwicklung von Dave Hanson und Chris Fraser (der E-Mail Adresse nach zu schließen, zwei Microsoft Mitarbeiter). Man kann damit Windows-Konsolapplikationen in klassischem ANSI-C, Windowsprogramme, statische Bibliotheken und DLL's erzeugen.

Über Vermittlung von Friederich Dominicus konnte die Version vom 8. August 2000 auf der CD der 4. Auflage meines Buches zur Verfügung gestellt werden. Die 4. Auflage ist die vorläufig letzte Auflage des Buches.
Angeregt durch die Anfrage einer Leserin habe ich die LCC-Version auf der Buch-CD auf einem Rechner mit Windows XP Professional installiert. Wenn Sie sich an die folgenden Tipps halten, funktioniert die Version noch tadellos.

Sie können sich jedoch auch die neueste Version über die nachstehend angegeben Adressen besorgen:
Original Download Site
Jacob Navia stellt in kurzen Abständen immer wieder die neueste Version ins Netz. Der Download-Link führt mittlerweile allerdings auf die Seite von q-software-solutions.
q-software-solutions
Download, Bestellung von Quellcode und Supportleistungen, Bug-Report etc.

Newsgroups: comp.compilers, comp.compilers.lcc

Tipps

Machmal klagen Anwender über Probleme. In der Regel sind das "Fehler", die ich nicht reproduzieren kann, wobei sich meine Erfahrung auf Installationen unter Windows NT 4.0 / Windows 2000 / Windows XP Professional beschränken.

Installation:
Als Administrator anmelden und das Installtionskit (lccwin32.exe) starten. Als Zielordner z.B.: C:\Programme wählen. Keinen Ordner mit Leerzeichen im Pfad wählen!
Die Installation erzeugt einen Eintrag im Startmenü. Sie können aus dem Eintrag natürlich einen Shortcut auf dem Desktop machen.

Deinstallation:
Die Software läßt sich über Einstellungen -> Systemsteuerung -> Software deinstallieren. Das Installations-Verzeichnis C:\Programme\Lcc wird nicht zur Gänze gelöscht. Sie können es anschließend manuel weglöschen.
In der Registry wird bei der Benützung unter HKEY_CURRENT_USER - Software ein Lcc Eintrag erstellt. Dieser Eintrag wird bei der Deinstallation nicht gelöscht.

Was Sie auf jeden Fall vermeiden sollten:

Für die typische Arbeit mit vielen kleineren Übungsprogrammen, bewährt sich in allen Umgebungen, die auf der Basis eines Projektes arbeiten, folgende Methode:
Anlegen eines Projektes z.B. mit dem Namen uebung. Die jeweils aktuelle C-Quellcodedatei wird in das Projekt eingefügt, das vorhergehende Programm aus dem Projekt entfernt. Die übliche Vorgabe, dass das ausführbare Programm, also das EXE-File in einem Unterverzeichnis (bei Visual C++ Debug + Release, bei lcc-win32 lcc) würde ich beibehalten.

Man arbeitet also z.B. mit folgender Verzeichnisstruktur:

\cprog\uebungen enthält die Quellcodedateien *.c, in
\cprog\uebungen\lcc entstehen dann uebung.exe, uebung.err, *.obj

Für die kleinen Übungsprogramme im Buch empfehle ich folgende Vorgangsweise:

Damit ist das Standard-Übungs-Projekt fertig. Die verschiedenen Quellcode-Files werden über den Menüpunkt Project - Add/Delete Files in das Projekt eingefügt, bzw. wieder entfernt.

Screenshot der Projekt-Einstellungen:

Screenshot

Project-Configuration - General:

Off

Generate Backups

On

Show open files toolsbar

On

Save editor settings configuartion at exit

On

Indent automatically

Off

Check syntax when saving

On or Off

Use small fonts in output window

On

Save files automatically before a build
(wirkt sich nur auf Make, nicht auf Compile aus)

On

Test if target ...

Off

Auto save (macht eventuell Probleme, wenn lcc auf einem schreibgeschützten Netzlaufwerk installiert ist)

Weitere Erfahrungen

Die folgenden Erfahrungen beziehen sich auf die dem Buch beigelegte Version vom 8. August 2000!

Drucken

Leider kann man für den Ausdruck keinen linken Rand einstellen. Und es gelingt zumindest mir nicht, im Editor einen markierten Block weiter einzurücken.
Für die Größe der Fonts werden offensichtlich nicht Points verwendet, für HP-Laser-Jets bewährt sich eine Größe von ca. 36 Einheiten.
Am Ende einer // Kommentarzeile wird offensichtlich ein zusätzliches Zeichen ausgegeben, hier stimmt vermutlich die Esc-Sequenz nicht, die den Kursivdruck wieder ausschaltet.

Save Files automatically before a build

Diese eingestellbare Option wirkt nur bei Make, nicht aber bei Compile!

Print - Zwischenablage

Schade ist auch, dass nicht für alle Fenster, wie sie etwa die Menüpunkte Project - Outline oder Utils - Analysis ... (diese Möglichkeiten schätze ich besonders) Drucken möglich ist.
Mit ALT-Druck kann man die Fenster in die Zwischenablage kopieren.

Help

Hilfe zur Syntax der Sprache C, wie sie sonst IDE's anbieten, fehlt leider. F1 liefert jedoch Hilfe zu den Bibliotheksfunktionen und zur MSDN Dokumentation der Windows-API, falls diese installiert ist.

ObjectRef

zwei Files - Plot: das obere File wird außerhalb des Fensters gezeichnet und kann nicht sichtbar gemacht werden.

Debugger

Manchmal blockiert der Debugger ein EXE-File auch dann noch, wenn der Debugger gestoppt wurde, und das EXE-File auch sonst sicher nicht mehr in Ausführung ist. Make kann dann das neue EXE-File nicht erzeugen. Es hilft nur: Wedit Beenden und neu starten.