IBM z/OS XL C/C++ compilers
Introduction[edit]
The IBM® z/OS® XL C/C++ is an optional priced feature of IBM z/OS[1], providing support for C and C++ application development on the z/OS platform. z/OS XL C/C++ includes a C compiler [2], a C++ compiler (referred to as the z/OS XL C++ compiler), and a set of utilities for C/C++ application development. z/OS XL C/C++ is a member of the IBM XL C/C++ Compilers[3] family.
History[edit]
The current IBM Z mainframe[4] has a long history that started in mid-1960s with a number of compilers that enable developing mainframe applications. The first IBM z/OS C compiler was introduced in late 1980s followed by the z/OS XL C/C++ compiler.
Key features[edit]
The z/OS XL C/C++ compilers delivers the following key features.
- Exploitation of z/Architecture
The z/OS XL C/C++ compiler exploits IBM Z [5] servers through directives [6], pragmas [7], source-level built-in functions [8] [9], and performance-tuned libraries.
- Optimization technology
The z/OS XL C/C++ compiler provides multiple optimization levels of increasingly aggressive code transformations. It also provides many compiler options to tailor the optimization process for C/C++ applications. The key optimization techniques include: high-order transformation (HOT) loop optimization [10], interprocedural analysis (IPA) optimization [11], and profile-directed feedback (PDF) [12] optimization.
HOT optimizer is a specialized loop transformation optimizer, which enables the compiler to request high-order transformations on loops and generates more highly optimized code. IPA optimizer focuses on whole program analysis and optimization during the link step, rather than on a file-by-file basis. PDF collects information about your program as you run it with typical input data and uses this information to instruct the optimizer to focus on trade-offs that favor code that executes more frequently.
- System programming capabilities provided by Metal C
Provides the XL C METAL option to support system programming on z/OS®. The METAL option generates code that does not require access to the Language Environment®[13] support at run time. The METAL option provides C-language extensions that allow you to specify assembly statements [14] that call system services directly. Metal C can also be used to write programs to run in the CICS Transaction Server for z/OS [15], particularly in situations where you would otherwise code directly using assembler.
- Libraries for high-performance mathematical computing
The z/OS XL C/C++ compiler is shipped with a set of Mathematical Acceleration Subsystem (MASS)[16] libraries and Automatically Tuned Linear Algebra Software (ATLAS) [17] libraries for high-performance mathematical computing. In addition, the compiler provides vector programming support for programmers to make use of the Vector Facility for z/Architecture for both of these libraries.
- Standards compliance and GNU C/C++ compatibility
The z/OS XL C/C++ compiler is compliant to the language standard of C89, C99 [18], C++98, C++03 [19]. The compiler also supports selected features of the C11 and C++11 standard. The z/OS XL C/C++ compiler is also compatible with GNU C/C++ [20], which allows the migration of applications built with GNU C/C++ to z/OS.
- Cross platform compatibility
The z/OS XL C/C++ compiler shares optimization components with IBM XL C/C++ for AIX® [21] and XL C/C++ for Linux [22] compilers, allowing for shared enhancements and porting C/C++ applications between compilers on different platforms.
Releases[edit]
- z/OS XL C/C++ V2.3 (September 2017)
- z/OS XL C/C++ V2.2 (September 2015)
- z/OS XL C/C++ V2.1.1 (February 2015)
- z/OS XL C/C++ V2.1 (September 2013)
- z/OS XL C/C++ V1.13 (September 2011)
Related links[edit]
- Product documentation: z/OS XL C/C++, V2.3
- Product documentation: z/OS XL C/C++, V2.2
- C/C++ Compilers for IBM Z - Community & Forum
- z/OS XL C/C++ Marketplace page
- z/OS XL C/C++ documentation library
- IBM Z mainframes
- IBM AIX
References[edit]
- ↑ "IBM z/OS".
- ↑ Compiler
- ↑ "IBM XL C and C++ compilers family".
- ↑ IBM mainframe
- ↑ IBM System z
- ↑ "Preprocessor directives".
- ↑ "z/OS XL C/C++ pragmas".
- ↑ "Using hardware built-in functions".
- ↑ "Vector built-in functions".
- ↑ "High-order transformations".
- ↑ "Interprocedural analysis (IPA) optimization".
- ↑ "Profile-directed feedback (PDF)".
- ↑ "Language Environment".
- ↑ Assembly language
- ↑ "CICS Transaction Server for z/OS".
- ↑ "Mathematical Acceleration Subsystem (MASS)".
- ↑ "Automatically Tuned Linear Algebra Software (ATLAS)".
- ↑ C (programming language)
- ↑ "News, Status & Discussion about Standard C++".
- ↑ "GCC, the GNU Compiler Collection".
- ↑ "IBM XL C/C++ for AIX".
- ↑ "IBM XL C/C++ for Linux".
IBM z/OS XL C/C++ compilers[edit]
Review request for the revision for IBM z/OS XL C/C++[edit]
Hi reviewers, I have updated the draft according to the review comment by adding more reliable resources. Please review and approve this draft. Thanks.
This article "IBM z/OS XL C/C++ compilers" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:IBM z/OS XL C/C++ compilers. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.