IBM XL C/C++ for z/VM est un compilateur d’optimisation conçu pour le développement d’applications volumineuses, complexes et gourmandes en ressources informatiques. Il vous permet d’écrire des applications C et C++ optimisées pour le matériel des systèmes IBM Z.
IBM XL C/C++ for z/VM est l’environnement de développement d’applications C/C++ centré sur le langage sur la plateforme z/VM. Il s’agit d’une version de z/OS XL C/C++ compatible avec z/VM, qui comprend un compilateur C/C++ (appelé compilateur XL C/C++) et des utilitaires de développement d’applications C/C++.
Guides d’utilisation et d’implémentation de XL C/C++ for z/VM 1.3
Prend en charge les transformations d’ordre supérieur, qui sont des optimisations qui améliorent les performances des boucles ; prend en charge OPTIMIZE(3) ou OPT(3), le niveau d’optimisation le plus élevé et intensif du compilateur.
Conforme à la norme internationale ISO/IEC 9899:1999 (C99), à la norme ANSI/ISO 1998 C++, à un compilateur C conforme aux normes et inclut la bibliothèque standard C++.
Prend en charge les normes du secteur afin de simplifier le portage des applications vers z/VM à partir de plateformes IBM et non-IBM.
La prise en charge d’OPT(3) introduit des options et des pragmas supplémentaires pour vous aider à améliorer les performances de vos applications, notamment l’option et les pragmas de déroulement de boucle et plusieurs nouvelles fonctions intégrées. Grâce aux options OPT(0), OPT(2) et OPT(3), vous pouvez obtenir des niveaux d’optimisation allant des optimisations complètes de bas niveau aux optimisations plus poussées.
IBM XL C/C++ for z/VM inclut la bibliothèque standard C++ I/O Stream Library pour l’exécution d’opérations d’entrée et de sortie (E/S), la bibliothèque C++ Standard Complex Mathematics pour la manipulation de nombres complexes et la Standard Template Library (STL), qui est composée d’algorithmes basés sur des modèles C++, de classes de conteneurs, d’itérateurs, d’objets de localisation et de la classe de chaînes.
IBM XL C/C++ for z/VM intègre la prise en charge des types char16_t et char32_t grâce à des typedefs dans C et en tant que types natifs dans C++, ce qui facilite le portage du code utilisant ces types vers z/OS.
La prise en charge C incluse pour la construction de l’expression d’instruction permet aux programmeurs d’utiliser des boucles, des commutateurs et des variables locales dans une expression. C et C++ prennent en charge la construction de tableau à extension nulle en tant qu’en-tête d’un objet de longueur variable. Ces fonctionnalités facilitent le portage sur XL C/C++ for z/VM du code C/C++ utilisant ces constructions sur d’autres plateformes.
L’option RESTRICT indique au compilateur que les pointeurs de paramètres de toutes les fonctions ou des fonctions spécifiées sont disjoints. Le compilateur effectue une analyse plus approfondie du pointeur lorsque l’option RESTRICT est active. L’objectif est d’améliorer les performances de l’application en cours de compilation.
IBM XL C/C++ for z/VM offre une représentation compacte des options de compilateur utilisées pour chaque fichier source et crée la chaîne d’options enregistrée dans l’exécutable pour chaque unité de compilation. Le compilateur enregistre les informations de version de tous les composants actifs pendant la compilation. Cette nouvelle fonctionnalité peut vous aider à détecter les problèmes d’exécution.
L'option SEVERITY permet de modifier la gravité de certains messages de diagnostic émis par le compilateur. Cette fonctionnalité permet de personnaliser certains niveaux de messages de diagnostic en fonction des normes de codage de l'utilisateur.
Les listes de sources générées par le compilateur sont améliorées afin d’ajouter le décalage de départ de chaque fonction aux listes. Le décalage de départ de chaque fonction devrait aider au débogage. Pour le code compilé à l’aide du niveau d’optimisation O2 ou O3, les noms et adresses des fonctions, ainsi que les noms, types et valeurs des paramètres peuvent être affichés lorsque vous déboguez du code optimisé.
Obtenez un aperçu de l’environnement de langage sur z/VM.
Explorer les fonctionnalités supplémentaires d’IBM XL C/C++ for z/VM avec des descriptions techniques.
En savoir plus sur les fonctionnalités du compilateur z/OS XL C/C++ qui ne sont pas prises en charge ou fonctionnent différemment dans XL C/C++ for z/VM.