 |
| |
|
 |
 |
 |
SAS/C C++ Development System
SAS/C Compiler Software
Develop and run C++ programs on the mainframe under MVS, CMS, or TSO
The SAS/C C++ Development System is an add-on product to the compiler that extends the capabilities of the base SAS/C product, enabling you to develop and run C++ programs on the mainframe under TSO, CMS, MVS batch, the OpenEdition shell, and CICS. The system implements the C++ language by means of a translator that translates C++ to C. The translated C code must be compiled with the SAS/C Compiler, resulting in an object module. By default, when you invoke the translator, both the translation and compilation are performed; that is, you do not have to call the SAS/C Compiler as a separate step.
We continue to improve the SAS/C compiler conformance with the ISO C++ Standard. For information regarding new SAS/C conformance with the C++ Standard, please see Improved Conformance with the C++ Standard. The numbers at the beginning of each item indicate the relevant section number in the ISO/IEC 14882: 1998 Programming Languages -- C++.
SAS/C C++ Development System Enhancements
- Support for C++ exception handling, catch, try, and throw specifications. This support also includes debugger enhancements to trap exceptions during the exception handling processing.
- Support for the namespace specifier and using declaration. The namespace support includes header file specification of the std namespace for C standard headers. Argument-dependent function name lookup is also supported.
- Enhanced compatibility with the ISO C++ standard in areas such as overload resolution, name lookup, temporary handling, and access checking.
- Enhanced template support including the following new features:
- default arguments
- template template formals
- function member pointer formals
- restricted nested templates.
- Support for the following features:
- the mutable, explicit, bool, and wchar_t keywords
- operator new[] and operator delete[]
explicit zero initialization and the {} empty initializer syntax
- the long long data type
- the extern OS linkage specifier.
- Integration of a standard C++ library, which includes the following functionality:
- Standard Template Library (STL)
- IOStream library
- Locale facility
- templatized string classes
- vector, arrays, algorithms and numeric classes, as defined in the ISO/ANSI C++ standard.
- Integration of a Tools++ class library, which includes the following functionality:
- String class library
- Time class library
- Expression class library.
- C++ supports the generation of ASCII character sequences with the use of the asciiout option. This option will enable all string and character literals to be generated as ASCII characters. This option simplifies the porting of C++ applications developed for non-EBCDIC hosts, which may have source code dependencies on collating sequences. The A and E prefixes for string and character literals are also supported.
Performance improvements for processing user-defined and system header files. The - compiler automatically generates protected INCLUDE statements to prevent parsing of previously processed header files.
Because C++ is in general a superset of C, the C++ language includes many SAS/C features. You can find a detailed definition of the SAS/C implementation in "Language Definition" in the SAS/C Compiler and Library User's Guide.
For details regarding only those features that are different from SAS/C behavior or that are specific to the C++ environment read the following: C++ Language Definition.
|
 |
|