IBM® XL C/C++ for z/VM è un compilatore ottimizzato progettato per sviluppare applicazioni grandi, complicate e con attività computazionali complesse. Consente di scrivere applicazioni C e C++ ottimizzate per l'hardware IBM® Z Systems.
IBM XL C/C++ for z/VM è l'ambiente di sviluppo delle applicazioni C/C++ sulla piattaforma z/VM. È una versione z/VM abilitata per z/OS XL C/C++, che include un componente compilatore C/C++ (chiamato compilatore XL C/C++) e alcune utilità di sviluppo di applicazioni C/C++.
Manuale utente e guida all'implementazione di XL C/C++ for z/VM 1.3
Supporta trasformazioni di livello elevato, che sono ottimizzazioni che migliorano le prestazioni per i loop. Supporta OPTIMIZE(3) oppure OPT(3), il livello di ottimizzazione più alto e aggressivo del compilatore.
Conforme allo standard internazionale ISO/IEC 9899:1999 (C99), allo standard ANSI/ISO 1998 C++ e a un compilatore C conforme agli standard e include la libreria standard C++.
Supporta gli standard di settore per semplificare il porting delle applicazioni su z/VM da piattaforme IBM e non IBM.
Il supporto OPT(3) introduce opzioni aggiuntive e pragma per aiutarti a migliorare le prestazioni dell'applicazione, tra cui l'opzione loop unrolling e pragma e diverse nuove funzioni integrate. Utilizzando le opzioni OPT(0), OPT(2) e OPT(3), è possibile ottenere livelli di ottimizzazione che vanno dalle ottimizzazioni complete di basso livello a ottimizzazioni più estese.
IBM XL C/C++ for z/VM include la libreria dei flussi I/O standard per C++ per l'esecuzione di operazioni di input e output (I/O), la libreria matematica complessa standard per C++ per la manipolazione di numeri complessi e la libreria dei modelli standard (STL), composta da algoritmi basati su modelli C++, classi di contenitori, iteratori, oggetti di localizzazione e la classe di stringhe.
IBM XL C/C++ for z/VM aggiunge il supporto per i tipi char16_t e char32_t attraverso l'uso di typedef in C e come tipi nativi in C++, e semplifica il porting del codice che sfrutta questi tipi in z/OS.
Il supporto C incluso per il costrutto dell'espressione di istruzione consente ai programmatori di utilizzare loop, switch e variabili locali all'interno di un'espressione. C e C++ supportano il costrutto dell'array con estensione zero come intestazione per un oggetto di lunghezza variabile. Queste funzioni semplificano il porting del codice C/C++ usando questi costrutti su altre piattaforme in XL C/C++ for z/VM.
L'opzione RESTRICT indica al compilatore che i puntatori dei parametri in tutte le funzioni o nelle funzioni specificate sono disgiunti. Quando l'opzione RESTRICT è attiva, il compilatore esegue un'analisi del puntatore più approfondita allo scopo di migliorare le prestazioni dell'applicazione in fase di compilazione.
IBM XL C/C++ for z/VM fornisce una rappresentazione compatta delle opzioni del compilatore utilizzate per ciascun file di origine e crea la stringa delle opzioni salvate nel file eseguibile per ciascuna unità di compilazione. Il compilatore registra le informazioni sulla versione di tutti i componenti attivi durante la compilazione. Questa nuova funzione può aiutarti a diagnosticare i problemi di runtime.
L'opzione SEVERITY consente di modificare la gravità di alcuni messaggi diagnostici emessi dal compilatore. Questa funzione consente la personalizzazione di determinati livelli di messaggi diagnostici in base agli standard di codifica dell'utente.
Le voci elenco generate dal compilatore sono migliorate per aggiungere l'offset iniziale di ciascuna funzione alle voci elenco. L'offset iniziale di ogni funzione può essere d'aiuto per il debug. Per il codice compilato utilizzando il livello di ottimizzazione O2 o O3, è possibile visualizzare i nomi e gli indirizzi delle funzioni e i nomi, i tipi e i valori dei parametri quando si esegue il debug del codice ottimizzato.
Ottieni una panoramica di Language Environment su z/VM.
Esplora le funzioni aggiuntive di IBM XL C/C++ for z/VM complete di descrizioni tecniche.
Scopri di più sulle funzioni del compilatore z/OS XL C/C++ che non sono supportate o funzionano diversamente in XL C/C++ for z/VM.