Startseite
Z Software
Z Developer Tools
XL C/C++ for z/VM
IBM XL C/C++ for z/VM ist ein optimierter Compiler für die Entwicklung großer, komplexer, rechenintensiver Anwendungen. Sie können damit C- und C++-Anwendungen schreiben, die für die Hardware von IBM Z Systems optimiert sind.
IBM XL C/C++ for z/VM ist die sprachzentrierte C/C++-Anwendungsentwicklungsumgebung auf der z/VM-Plattform. Es handelt sich um eine Z/VM-fähige Version von z/OS XL C/C++, die eine C/C++-Compiler-Komponente (als XL C/C++-Compiler bezeichnet) und einige Dienstprogramme für die C/C++-Anwendungsentwicklung enthält.
Unterstützt hochrangige Transformationen, bei denen es sich um Optimierungen handelt, die die Leistung von Schleifen verbessern; unterstützt OPTIMIZE(3) oder OPT(3), das höchste und aggressivste Optimierungsniveau des Compilers.
Entspricht dem internationalen Standard ISO/IEC 9899:1999 (C99), dem Standard ANSI/ISO 1998 C++ und einem standardkonformen Compiler C und enthält die Standardbibliothek C++.
Unterstützt Industriestandards, um die Portierung von Anwendungen auf z/VM sowohl von IBM- als auch von Nicht-IBM-Plattformen zu vereinfachen.
Die Unterstützung für OPT(3) führt zusätzliche Optionen und Pragmas ein, die Ihnen helfen, die Leistung Ihrer Anwendung zu verbessern, einschließlich der Option zum Abrollen von Schleifen und Pragmas sowie mehrerer neuer eingebauter Funktionen. Mit den Optionen OPT(0), OPT(2) und OPT(3) können Sie Optimierungsstufen erhalten, die von umfassenden Low-Level-Optimierungen bis hin zu umfangreicheren Optimierungen reichen.
IBM XL C/C++ for z/VM umfasst die C++ Standard I/O Stream Library zur Durchführung von Ein- und Ausgängen (I/O), die C++ Standard Complex Mathematics Library zur Manipulation komplexer Zahlen und die Standard Template Library (STL), die aus vorlagenbasierten C++-Algorithmen, Containerklassen, Iteratoren, Lokalisierungsobjekten und der Zeichenfolgenklasse besteht.
IBM XL C/C++ for z/VM bietet Unterstützung für die Typen char16_t und char32_t durch Typedefs in C und als native Typen in C++, was die Portierung von Code, der diese Typen verwendet, auf z/OS erleichtert.
Die enthaltene C-Unterstützung für das Konstrukt des Anweisungsausdrucks ermöglicht es Programmierern, Schleifen, Schalter und lokale Variablen innerhalb eines Ausdrucks zu verwenden. C und C++ unterstützen das Zero-Extent-Array-Konstrukt als Header für ein Objekt mit variabler Länge. Diese Funktionen erleichtern das Anschließen von C/C++-Code mit diesen Konstrukten auf anderen Plattformen an XL C/C++ for z/VM.
Die Option RESTRICT zeigt dem Compiler an, dass Parameterzeiger in allen Funktionen oder bestimmten Funktionen unzusammenhängend sind. Der Compiler führt eine detailliertere Zeigeranalyse durch, wenn die Option RESTRICT aktiv ist. Dies soll die Leistung der kompilierten Anwendung verbessern.
IBM XL C/C++ for z/VM bietet eine kompakte Darstellung der Compiler-Optionen, die für jede Quelldatei verwendet werden, und erstellt die gespeicherte Optionszeichenfolge in der ausführbaren Datei für jede Kompilierungseinheit. Der Compiler zeichnet Versionsinformationen für alle Komponenten auf, die während der Kompilierung aktiv sind. Dieses neue Feature kann Ihnen bei der Diagnose von Laufzeitproblemen helfen.
Mit der SEVERITY-Option kann der Schweregrad einiger der vom Compiler ausgegebenen Diagnosemeldungen geändert werden. Diese Funktion ermöglicht die Anpassung bestimmter Diagnosemeldungen an die Programmierstandards des Benutzers.
Die vom Compiler generierten Quelllisten werden erweitert, um den Startversatz jeder Funktion zu den Auflistungen hinzuzufügen. Es wird erwartet, dass der Startversatz jeder Funktion für Debugging-Zwecke hilfreich ist. Bei kompiliertem Code, der die Optimierungsstufe O2 oder O3 verwendet, können die Namen und Adressen von Funktionen sowie die Namen, Typen und Werte der Parameter angezeigt werden, wenn Sie optimierten Code debuggen.
Verschaffen Sie sich einen Überblick über die Sprachumgebung auf z/VM.
Erkunden Sie weitere Funktionen von IBM XL C/C++ for z/VM mit technischen Beschreibungen.
Erfahren Sie mehr über die Z/OS XL C/C+-Compiler-Funktionen, die in XL C/C++ for z/VM nicht unterstützt werden oder anders funktionieren.