IBM z/OS XL C/C++

Develop high-performing applications and system programs on z/OS® while maximizing hardware use and improving application performance

Download now

IBM® z/OS® XL C/C++ compiler uses the C/C++ runtime environment and library of runtime services available with the Language Environment® and Runtime Library Extensions elements provided with z/OS. 

The compiler supports embedded CICS® and SQL statements in C/C++ source, simplifying the operation of C/C++ within CICS and Db2® environments. To expedite the delivery of z/OS® applications, you can use IBM® Application Delivery Foundation for z/OS® in conjunction with XL C/C++.

IBM Open XL C/C++ is fully based on the LLVM open source Clang infrastructure and supports current C/C++ language standards and the latest IBM z16™ servers. Open XL C/C++ is a no-charge add-on feature for users who have enabled z/OS XL C/C++ on z/OS 2.4 or 2.5.

Get the details

Migrating to new LLVM and Clang compiler infrastructure

Benefits Easily migrate applications to z/OS

Get support for C17, C18 and C++17 language standards. It uses the Clang command line interface, which significantly improves cross-platform compatibility for C/C++ applications.

Increase return on investments

Optimize application performance with leading-edge optimization technology while using the latest features of the IBM Z® servers.

Use system programming capabilities

Take advantage of the METAL option to simplify system programming by using C syntax to generate optimized low-level free-standing applications on z/OS.

Open XL C/C++ compiler features Based on open source LLVM framework

Fully incorporates the Clang and LLVM compiler infrastructure for C/C++. Combines open source technology and IBM's strength in compiler optimization technology.

New LLVM and Clang infrastructure
Supports current C/C++ language standards

Supports up to C17, C18 and C++17 language standard features.

Enhanced language standard support
Advanced optimization technology

Supports the hardware features in IBM z16™ servers. Delivers hardware-level capabilities directly to you through compiler options.

Leveraging IBM z16 features
Provides cross-platform compatibility

Adopts the Clang command line interface, improving cross-platform compatibility for C/C++ applications on z/OS.

Explore compiler options
Supports high-performance libraries

Supports the OpenBLAS library for high-performance mathematical computing.

Using high-performance libraries
Supports 64-bit and runs on z/OS UNIX System Service

Use the advanced 64-bit compiler that supports EBCDIC and ASCII and generates AMODE 64 code, making it ideal for porting applications from distributed platforms.

Discover more about this compiler
z/OS XL C/C++ compiler features METAL C for system programming capabilities

Provides the METAL option to support system program development on z/OS. Target system programs written in Metal C to new IBM Z servers by recompiling to include optimizations for the target system.

Programming with Metal C Watch the video
Support for program diagnosis and debug

Increases programmer productivity and code generation with a cost-effective way of diagnosing potential language semantics adherence. It is supported by debugging tools such as IBM Debug for z/OS and dbx.

Explore IBM z/OS Debugger
Industry standards support

Conforms to C89, C99, C++98, C++03, core C11, C++11 and C++14 standards, enabling porting for optimal performance. GNU C/C++ language extensions and compatibility optimize migration and programming.

XL C/C++ language extensions
Support for automatic SIMDization optimization

Use automatic SIMDization or automatic vectorization optimization using single or multiple data (SIMD) instructions to automatically generate SIMD code without parallel programming.

Explore VECTOR | NOVECTOR
Advanced optimization technology

Use advanced compilation and optimization technology such as high-order transformation (HOT) loop, interprocedural analysis (IPA) and profile-directed feedback (PDF) for improved performance. 

Improving performance with compiler options
High-performance libraries

Use the Mathematical Acceleration Subsystem (MASS) and Automatically Tuned Linear Algebra Software (ATLAS) for accelerated execution of math and algebra functions used in business analytics.

Using high-performance libraries
Integration with a core set of tools

Use the compiler to integrate IBM Developer for z/OS Enterprise Edition tools, which include IBM Debug for z/OS, IBM Fault Analyzer for z/OS and IBM Application Performance Analyzer for z/OS.

Explore IBM Application Delivery Foundation for z/OS
Support for embedded CICS and SQL statements

Simplifies the operation of C/C++ within CICS and Db2 environments with support for embedded CICS and SQL statements in C/C++ source that are passed through without the need for a preprocessing step.

Programming with other products
Compare
Products Open XL C/C++ for z/OS

The newer C and C++ compiler on z/OS supports the latest C/C++ language standards with the open-source Clang interface for improved cross-platform compatibility.

Download now
z/OS XL C/C++

An advanced optimizing C and C++ compiler on z/OS that uses the IBM Z architecture features. 

Priced feature

Entitled via IBM z/OS XL C/C++ at no charge

Licensing

Clients currently running the z/OS XL C/C++ priced feature of z/OS can download Open XL C/C++ Monthly License Charge (MLC)

World-class IBM support

Integrate with other products When you use z/OS XL C/C++, you can write programs that use the power of other IBM products and subsystems. Explore interaction with other IBM products IBM CICS Transaction Server for z/OS

 

You can use the CICS command-level interface to write C/C++ application programs. The CICS command-level interface provides data, job and task management facilities that are normally provided by the operating system.

 

Explore using CICS
IBM Graphical Data Display Manager (GDDM)

GDDM programs provide a comprehensive set of functions to display and print applications effectively.

Explore using GDDM
Information Management System (IMS)

IMS and z/OS XL C/C++ together can coordinate error handling.

Explore using IMS
IBM Db2 Query Management Facility (QMF)

Create applications to perform various tasks such as data entry, query building, administration aids and report analysis. To access QMF, you can call C code statically or dynamically from C++.

Explore using QMF
IBM Db2 database

Both z/OS Language Environment and z/OS XL C/C++ provide an interface to the IBM DB2® Universal Database Licensed Program. An XL C/C++ program requests DB2 services by using SQL statements embedded in the program. 

Explore using Db2
Resources Using inline assembly for z/OS XL C/C++ compiler

Learn two ways to use high-level languages in low-level programming.

AutoSIMD compiler optimization for z/OS XL C/C++ programs

Learn about the AutoSIMD optimization introduced in the z/OS 2.2 XL C/C++ compiler.

Fix list for z/OS XL C/C++

Check out a complete listing of releases, refreshes, fix packs and interim fixes sorted by version for IBM z/OS XL C/C++.

Related products IBM XL C/C++ for z/VM

Use a high-performance compiler for developing complex C/C++ programs on z/VM.

IBM XL C/C++ for Linux

Learn how you can take advantage of a high-performance compiler for developing complex C/C++ programs on Linux on Power Systems.

IBM XL C/C++ for AIX

Take advantage of a high-performance compiler for developing complex C/C++ programs on AIX.

Explore the IBM Compiler family of products
Next steps

Download IBM Open XL C/C++ now or discover z/OS XL C/C++ by scheduling a no-cost 30-minute meeting with an IBM Z representative.

Download now
More ways to explore Documentation: z/OS XL C/C++ Documentation: Open XL C/C++ for z/OS Support IBM Redbooks® Support and services Global financing Flexible pricing Education and training Community Developer community Partners Resources