Abstract for XL C/C++ Language Reference

This information supports IBM® z/OS® (5650-ZOS) and contains information about z/OS XL C/C++.

Purpose of this information

This information describes the syntax, semantics, and IBM z/OS XL C/C++ implementation of the C and C++ programming languages. Although the XL C and XL C++ compilers conform to the specifications maintained by the ISO standards for the C and C++ programming languages, the compilers also incorporate many extensions to the core languages. These extensions have been implemented with the aims of enhancing usability in specific operating environments, supporting compatibility with other compilers, and supporting new hardware capabilities. For example, on the z/OS platform, language constructs have been added to provide support for data types that are specific to the IBM System z® environment.

Who should read this information

This information is a reference for users who already have experience programming applications in C or C++. Users new to C or C++ can still use this information to find language and features unique to XL C/C++; however, this reference does not aim to teach programming concepts nor to promote specific programming practices.

How to use this information

Unless indicated otherwise, all of the text in this reference pertains to both C and C++ languages. Where there are differences between languages, these are indicated through qualifying text and other graphical elements (see below for the conventions used).

While this information covers both standard and implementation-specific features, it does not include the following topic:
  • Standard C and C++ library functions and headers. For standard C/C++ library information, refer to the Standard C++ Library Reference.

How this information is organized

This information is organized to loosely follow the structure of the ISO standard language specifications and topics are grouped into similar headings.

Conventions and qualifying elements

The following table explains the typographical conventions used in the IBM z/OS V2R1 XL C/C++ information.

Table 1. Typographical conventions
Typeface Indicates Example
bold Lowercase commands, executable names, compiler options, and directives. The compiler provides basic invocation commands, xlc and xlC (xlc++), along with several other compiler invocation commands to support various C language levels and compilation environments.
italics Parameters or variables whose actual names or values are to be supplied by the user. Italics are also used to introduce new terms. Make sure that you update the size parameter if you return more than the size requested.
underlining The default setting of a parameter of a compiler option or directive. nomaf | maf
monospace Programming keywords and library functions, compiler builtins, examples of program code, command strings, or user-defined names. To compile and optimize myprogram.c, enter: xlc myprogram.c -O3.

Most features described in this information apply to both C and C++ languages. In descriptions of language elements where a feature is exclusive to one language, or where functionality differs between languages, this information uses icons to delineate segments of text as follows:

Table 2. Qualifying elements
Qualifier/Icon Meaning
C only
C only begins
C only ends
The text describes a feature that is supported in the C language only; or describes behavior that is specific to the C language.
C++ only
C++ only begins
C++ only ends
The text describes a feature that is supported in the C++ language only; or describes behavior that is specific to the C++ language.
IBM extension
IBM extension begins
IBM extension ends
The text describes a feature that is an IBM extension to the standard language specifications.
z/OS only
z/OS only begins
z/OS only ends
The text describes a feature that is supported only on the z/OS implementation of the compilers.

Technical support

Additional technical support is available from the z/OS XL C/C++ Support page. This page provides a portal with search capabilities to a large selection of technical support FAQs and other support documents. You can find the z/OS XL C/C++ Support page on the Web at: http://www.ibm.com/software/awdtools/czos/support/.

Readme files that include changes to z/OS XL C/C++ publications are available from: http://www.ibm.com/support/docview.wss?uid=swg27007531.

If you cannot find what you need, you can e-mail: compinfo@ca.ibm.com

For the latest information about z/OS XL C/C++, visit the product information site at: http://www.ibm.com/software/awdtools/czos/.

For information about boosting performance, productivity and portability, visit the C/C++ Cafe at: http://www-949.ibm.com/software/rational/cafe/community/ccpp.