Computer & Technik

Standard-Software

MS-C 6.0 - Im Überblick

Neben diesen hocheffizienten Methoden kennt MS-C 6.0 weitere Techniken zur Codeoptimierung. Un­ter anderem lassen sich global Variable nach der Häufigkeit ihres Vorkommens in Registern unterbrin­gen. Dabei ignoriert der Compiler eventuell vorhandene register-Deklarationen.

Neu und besonders nützlich sind die Inline-Assembler-Statements. Über das Schlüsselwort _asm las­sen sich beliebig lange Assemblersequenzen in das Programm einfügen. Inlinecode darf auch in Ma­kros stehen oder ganze Funktionen bilden. Diese Möglichkeit ist besonders effizient, wenn sie mit dem ebenfalls neuen Funktionsattribut _fastcall kombiniert wird. Bei Funktionen, die auf diese Weise de­klariert sind, werden die Funktionsparameter in CPU-Registern übergeben. Allerdings scheint dies zur Zeit nur dann korrekt zu funktionieren, wenn nicht mehr als drei Parameter übergeben wurden. Über die Com­piler-Option /Gr könne alle Funktionen eines Moduls als Fastcall-Funktionen deklariert wer­den. Al­lerdings haben diese Funktionen auch einen gravierenden Nachteil: sie können nicht innerhalb des Debuggers CodeView aufgerufen werden.

Auch CodeView wurde vollständig überarbeitet und liegt nun in der Version 3.0 vor. Neben der Optik wurde vor allem das Speichermanagement verbessert. Sofern mindestens 384 KByte Extended- oder Expanded-Memory zur Verfügung stehen, kann CodeView völlig in diesen Speicherbereich ausgelagert werden und belegt dann nur noch runde 12 KByte normalen Hauptspeicher.

Völlig neu bei einer Microsoft-Sparache ist der Brwoser, der eine moderne Version der Crossreferenz-Listings darstellt. Mit dem Browser lassen sich Quellprogramme durchforsten, um festzustellen,
- festzustellen, wo Funktionen definiert sind
- und von wo Funktionen aufgerufen werden
- und alle Referenzen auf eine bestimmte Variable aufzulisten.

Wichtiger noch als der Brwoser wäre ein Profiler gewesen. Doch denn wird man bei MS-C 6.0 vergeb­lich such. Wie in den guten alten Zeiten müssen alle Zeitmessungen per Hand vorgenommen werden. Ein in die Workbench integriertes Tool, das die Laufzeiten für Funktionen und Codesequenzen ermit­telt, wäre das non plus ultra gewesen. Leider war Microsoft anderer meinungh. Das es auch anders geht beweisen die Entwickler von Borland, die ihren neune Turbo-C++ gleich einen leistungsfähigen Pro­filer mit auf den Weg gaben.

Alles in allem ist Microsoft C Version 6.0 aber ein gelungenes und leistungsfähiges Paket für profes­sionelle Ent­wickler. Für Pro­jekte unter WINDOWS und OS/2 ist man zur Zeit ohnehin auf diesen Compiler ange­wiesen.

Vergleicht man aber MS-C 6.0 mit der ebenfalls brandaktuellen Version 3.0 von Turbo-C (Turbo-C++), so kommt man nicht umhin feststellen, daß die Position des Marktführers berträchtlich ins Wanken gerät. Schuld daran sind nicht nur die in Turbo-C++ implementierten Objekte nach dem AT&T Standard 2, sondern vor allem auch die Grafikfähigkeiten des Borland-Compilers. Microsoft scheint hier nur auf die Betriebssysteme WINDOWS und OS/2 zu setzen, die von Borland (noch) nicht unterstützt werden.

 

Die wichtigsten Neuerungen auf einen Blick
- integrierte, erweiterbare Entwicklungsoberfläche
- Umfangreiche Online-Hilfe
- Stark verbesserte Codeoptimierung
- Verbesserte Coderzeugung für 80x87-CPUs
- Inline-Assembler-Statements
- COM-Dateien lassen sich erzeugen
- CodeView 3.0
- Quelltext-Browser

Die Optimierungsmöglichkeiten im Überblick
- Optimierung bezüglich Code und/oder Laufzeit
- Eliminierung lokaler Unterausdrücke
- Eliminierung globaler Unterausdrücke
- Globale Verwendung von Registern
- Schleifenoptimierung
- Extreme Schleifenoptimierung
- Alias zulassen ja/nein
- Konsistente Fließkommaergebnisse





Sachgebiet


© 2009-2012 by Alojado Publishing. Alle Rechte vorbehalten. Ausgewiesene Marken gehören ihren jeweiligen Eigentümern.
Mit der Benutzung dieser Seite erkennen Sie die Nutzungsbedingungen und die Datenschutzerklärung an. Der Betreiber übernimmt keine Haftung für den Inhalt verlinkter externer Internetseiten.
Seite erzeugt 2012-05-20 02:41:59 von textarchiv.alojado.de