XL C C++ for zVM
Features and benefits
IBM XL C/C++ for z/VM, V1.2 brings a highly productive and powerful object-oriented development environment to z/VM programmers.
At a glance - What's new for V1.2
XL C/C++ for z/VM, V1.2 introduces the following new enhancements:
- Support for the C99 programming standard
- A higher OPTIMIZE(3) optimization level
- ARCH(4) and TUNE(4) compiler options to control the code being generated by the compiler
- Improved optimization with the High Order Transformation (HOT) option and aligned keyword
Support for the C99 programming standard
The ISO/IEC 9899:1999 (C99) international standard specifies the form and establishes the interpretation of programs written in the C programming language. Not all run-time functions and facilities required by the C99 standard are supported on all the operating system levels that can run this version of the compiler. The availability of system header files provides an indication of the support.
The C99 standard offers a number of additional language functions including:
- long long
- bool
- pragma operator
- initializer allow con
- empty new argument
- macro with variable number of args
- inline function specifier
- complex
C++ Standard Library
The C++ Standard Library includes the following:
- The C++ Standard I/O Stream Library for performing input and output (I/O) operations
- The C++ Standard Complex Mathematics Library for manipulating complex numbers
- The STL which is composed of C++ template-based algorithms, container classes, iterators, localization object, and the string class
The UNIX System Laboratories I/O Stream and Complex Mathematics libraries are included with C/C++ for z/VM. For new code and enhancements to existing applications, the Standard C++ Library should be used.
OPTIMIZE(3)
XL C/C++ z/VM V1.2 introduces the new and higher optimization level OPTIMIZE(3)or OPT(3). OPT(3) provides the compiler's highest and most aggressive level of optimization. OPT(3) is recommended when the desire for run-time improvement outweighs the concern for minimizing compilation resources. OPT(3) introduces additional options and pragmas to help programmers improve their application performance including the loop unrolling option and pragmas and a number of new built-in functions. Using the OPT(0), OPT(2) and OPT(3) options, you can obtain optimization levels that run from comprehensive low-level optimizations to more extensive optimizations.
HIGH ORDER TRANSFORMATION (HOT)
The new HOT option allows for high-order transformations, which are optimizations that specifically improve performance for loops through techniques such as interchange, fusion and unrolling.
LANGLVL compiler option
The LANGLVL compiler option has been enhanced to support all of the available language levels that you can use to compile your code within XL C/C++ for z/VM. Your code can conform to the latest C99 standard, use language extensions to C99, or conform to the previous C89 standard. XL C/C++ for z/VM offers you the flexibility to compile your code to the language level that you require.
_attribute _ aligned(n) keyword
A new keyword is introduced to specify the alignment of a variable. This will help improve performance and aid in the porting of applications to z/VM.
Additional C and C++ Features
When used with Language Environment®, the XL C and XL C++ compilers of XL C/C++ for z/VM offer many other features to enhance your programming:
- Dynamic link libraries (DLLs) to share parts among applications or parts of applications, and dynamically link to exported variables and functions at run time. You can use DLLs to split applications into smaller modules and improve system memory usage. DLLs also offer more flexibility for building, packaging, and redistributing applications.
- Full program reentrancy which will allow many users to simultaneously run a program.
- The INLINE compiler option which gives you additional optimization capabilities.
- Locale-based internationalization support derived from the IEEE POSIX 1003.2-1992 standard and the X/Open CAE Specification, System Interface Definitions, Issue 4 and Issue 4 Version 2. This allows programmers to use locales to specify language/country characteristics for their applications.
- The ability to call and be called by other languages such as assembler, COBOL, and PL/I. z/VM programmers can integrate C/C++ code with existing applications.
All products within the Rational category
- Rational Rhapsody Architect for Software
- Rational Rhapsody Architect for Systems Engineers
- Rational Rhapsody Design Manager
- Rational Rhapsody Designer for Systems Engineers
- Rational Rhapsody Developer
- Rational Software Architect Design Manager
- Rational Software Architect Simulation Toolkit
- Rational System Architect
- Rational Build Forge Enterprise Edition
- Rational Build Forge Enterprise Plus Edition
- Rational Build Forge Standard Edition
- Rational Application Performance Analyzer
- Rational AppScan Build Edition
- Rational AppScan Enterprise Edition
- Rational AppScan Tester Edition
- Rational Functional Tester
- Rational Functional Tester Plus
- Rational Performance Tester
- Rational Performance Tester for z%3AOS
- Rational Policy Tester Accessibility Edition
- Rational Policy Tester OnDemand Privacy, Quality and Accessibility Edition
- Rational Policy Tester Privacy Edition
- Rational Policy Tester Quality Edition
- Rational Publishing Engine
- Rational Purify for Linux and UNIX%20
- Rational Purify for Windows
- Rational PurifyPlus Enterprise Edition%20
- Rational PurifyPlus for AIX
- Rational PurifyPlus for Linux and UNIX%20
- Rational PurifyPlus for Windows
- Rational Quality Manager
- Rational Robot
- Rational Service Tester for SOA Quality
- Rational Software Analyzer Developer Edition%20
- Rational Software Analyzer Enterprise Edition
- Rational Test RealTime
- Rational DOORS
- Rational DOORS Web Access
- Rational Requirements Composer
- Rational RequisitePro
- Rational Rose Data Modeler
- Breeze for SCLM for z%3AOS
- Enhanced Access Control for SCLM for z%3AOS
- Rational Change
- Rational ClearCase
- Rational ClearCase Change Management Solution
- Rational ClearCase Change Management Solution Enterprise Edition
- Rational ClearCase MultiSite
- Rational ClearQuest
- Rational ClearQuest MultiSite
- Rational Lifecycle Package
- Rational Synergy
- Rational Team Concert
- Rational Asset Manager Enterprise Edition %20
- Rational Asset Manager Standard Edition
- Rational Insight
- Rational Method Composer
- Application Workload Modeler
- Rational Focal Point
- Rational Publishing Engine
- Host Access Client Package
- Merge Tool for zOS and OS390
- Personal Communications
- Rational Application Developer for WebSphere Software
- Rational Business Developer
- Rational Dashboard
- Rational Data and Application Modeling Bundle
- Rational Developer
- Rational EGL Community Edition
- Rational Elite Support for Eclipse
- Rational Host Access Transformation Services
- Rational Host On-Demand
- VisualAge Pacbase
- WebSphere Studio Asset Analyzer
- Rational Application Developer Standard Edition for WebSphere Software
- Rational Deployment Automation Content Pack for RAFW and WAS
- Rational Developer
- Rational Developer for System z with Java
- Rational Logiscope
- Rational Modeler
- Rational Programming Patterns for System z
- Rational Rhapsody Design Manager
- Rational Rose Data Modeler
- Rational Rose Developer for Java
- Rational Rose Developer for UNIX
- Rational Rose Developer for Visual Studio
- Rational Rose Enterprise
- Rational Rose Modeler
- Rational Software Analyzer
- Rational Software Architect Design Manager
- Rational Software Architect Extension for C++
- Rational Software Architect Extension for Communications Applications
- Rational Software Architect Extension for Deployment Planning
- Rational Software Architect Extension for Integrated Architecture Frameworks
- Rational Software Architect Extension for SOA and WebSphere
- Rational Software Architect for WebSphere Software
- Rational System Architect
- XL C C++ Advanced Edition for Blue Gene
- XL C C++ for AIX
- XL C C++ for Linux
- XL C for AIX
- zOS XL C C++
- COBOL for AIX
- COBOL for OS 390 & VM
- COBOL for VSE ESA
- COBOL Report Writer
- Compiler and Library for REXX on zSeries
- Enterprise COBOL for zOS
- Enterprise PLI for zOS
- VS FORTRAN
- XL Fortran Advanced Edition for Blue Gene
- XL Fortran for AIX
- XL Fortran for Linux
- Rational Development Studio for i
- XL C C++ for zVM
- Rational Development Studio for i
- PLI for AIX
- PLI for MVS & VM
- PLI for VSE
- Rational Ada Developer base edition
- Rational Ada Developer Enterprise Edition
- Rational Ada Embedded Developer
- Rational Ada Embedded Developer Enterprise Edition
- Rational Rhapsody Architect for Software
- Rational Rhapsody Architect for Systems Engineers
- Rational Rhapsody Designer for Systems Engineers
- Rational Migration Extension
- Rational Open Access RPG Edition
- Rational Rose Technical Developer
- Rational SDL Suite
- Rational Statemate
- Rational Systems Tester
- Rational Tau
- Rational TTCN Suite
- Rational Asset Analyzer
- Rational Asset Manager Standard Edition
- Rational Data and Application Modeling Bundle
- Rational Focal Point
- Rational RequisitePro
- Rational Software Architect
- Rational Software Architect for WebSphere Software
- Rational System Architect XT
- Host Access Client Package
- WebSphere Studio Asset Analyzer
- Rational Asset Analyzer for System z
- Rational Power Appliance
- Rational AppScan Build Edition
- Rational AppScan Enterprise Edition
- Rational AppScan Express Edition
- Rational AppScan OnDemand
- Rational AppScan OnDemand Production Site Monitoring
- Rational AppScan Source Edition
- Rational AppScan Standard Edition
- Rational AppScan Tester Edition
- Rational Virtual Forge CodeProfiler for AppScan Source Edition
- Rational EGL Community Edition
- Rational Team Webtop