ILE C and ILE C++ compilers - V6R1
The ILE C and ILE C++ compilers are part of the IBM WebSphere® Development Studio for System i ILE Compilers feature, which now also includes the ILE COBOL and ILE RPG compilers, and the Application Development ToolSet.
ILE C Compiler
The ILE C compiler is a high-performance, high-function compiler for C development on the iSeries platform. You get the combination of function-rich C programming and the power of Integrated Language Environment (ILE). ILE gives you fast calls and a uniform run-time model-definite benefits for call-intensive C programming.
ILE C++ Compiler
The C++ compiler provides additional features not found in the C language. These features include additional keywords, parameterized types (templates), support of object-oriented programming via classes, and stricter type checking.
With the ILE C++ Compiler, you can develop object-oriented, mission-critical applications for the iSeries server. You can take advantage of the object-oriented technology, such as data encapsulation and code reuse, to quickly design and adapt applications for changing business needs.
ILE C Compiler Enhancements for V6R1
- Decimal floating-point support
- Thread local storage support
ILE C Compiler Enhancements for V5R3
- Support for GB18030, a new Chinese standard that provides more than 64K characters, a codepage that uses multi-byte encoding, and direct mappingto unicode
- Enhanced support for optimizing programs:
- Allowing the PRFDTA keyword to target all releases supported by the compiler. The PRFDTA keyword allows customers to create profiling data duringcompilation or binding and then use change commands to re-order procedures (or code within procedures), based on that profiling data.
- The Alias option, which allows customers to specify aliasing rules, for optimization purposes, during compilation or linkage
- Enhanced support for porting UNIX-style commands without source code changes by supporting a higher number of parameters passed to PEP
- Support for packed decimal data types with up to 63 significant digits
ILE C++ Compiler Enhancements for V6R1
Thread local storage support.
ILE C++ Compiler Enhancements for V5R4
- Support for GB18030, a new Chinese standard that provides more than 64K characters, a codepage that uses multi-byte encoding, and direct mappingto unicode
- Enhanced support for optimizing programs via:
- The PRFDTA keyword, which allows customers to create profiling data during compilation or binding and then use change commands to re-order procedures (or code within procedures), based on that profiling data
- The Alias option, which allows customers to specify aliasing rules, for optimization purposes, during compilation or linkage
- Additional linkage improvements:
- ILE template registry to manage template instantiations, which ensures that, during linking, only one definition is available to an application
- Weak definition for static template members, which ensures compliance with the ISO standard
- Teraspace Phase 3 support. This includes new 8-byte run-time binding library extensions, which enable customers to create high performanceapplications with a smaller footprint.
- Enhanced support for porting UNIX-style commands without source code changes by supporting a higher number of parameters passed to PEP
- Namespace support for the ILE Debugger
ILE C and ILE C++ Compiler Enhancements for V5R2
Both the ILE C and ILE C++ compilers support I-ASP (Independent Auxiliary Storage Pool).
ILE C Compiler Enhancements for V5R1
While it retains all of the iSeries-specific functionality that it had in previous releases, the new ILE C compiler has been updated in V5R1 to be consistent with the most current C compiler that IBM offers on other platforms. This compiler has additional ANSI support, and significantly improved cross-platform portability. Portability is further enhanced with the new Teraspace support which allows pointer usage and memory management that is more consistent with those on other platforms. This new compiler retains all of the iSeries-specific functionality that it had in previous releases.
Specifically, the C compiler offers the following new features:
- A new compiler! Completely refreshed from latest AIX® compiler
- Compliance with the ANSI ISO/IEC 9899-1990(1992) C standard
- The ability to read source and includes from the IFS or native file system, but still produces *MODULEs in the native file system
- The ability to produce native or IFS spool file listings
- Teraspace Phase 2 support
- A third parameter for main() containing the current set of environment variables
- The ability to target V4R4, V4R5 and V5R1 servers
- A wider variety of source file CCSIDs
- A preprocessor output targeting specified file
- A Qshell command for compiling
- New LICOPT and CSOPT command keywords
- Asynchronous signals
- Greater synchronization with the ILE C++ compiler
ILE C++ Compiler Enhancements for V5R1
The ILE C++ compiler has also been updated in V5R1 to be consistent with the most current C compiler that IBM offers on other platforms. This iSeries native compiler replaces both the VisualAge C++ cross-compiler and the native C++ PRPQ compiler. It includes support for the latest C++ language features such as namespaces, improved template support, bool data type, etc. It also includes an improved AT&T class library, a complete ANSI Standard Template Library, and the IBM Open Class library.
Improvements to the stream classes in these libraries include 64-bit indexing and explicit control on CCSID-translation. The compiler can now read source from and produce listings to either the integrated file system or the native file system. This new compiler also features excellent cross-platform portability, which is again enhanced with new support for the Teraspace memory management model. The compiler retains all of the iSeries-specific functionality that it had in previous releases. The C++ PRPQ compiler is included for previous release support and to ease migration to the latest ANSI standard.
Specifically, the C++ compiler offers the following new features:
- New compiler! Completely refreshed from latest AIX® compiler
- Compliance with the latest ANSI ISO/IEC 14882-1998 C++ standard
- Template library, and namespace support
- A replacement for the VAC++ cross compiler and the native PRPQ compiler
- IBM Open Class class libraries
- new integral type bool and the boolean literals false and true
- The ability to read source and includes from the IFS or native file system
- Produce native or IFS spool file listings
- 64-bit file indexing for stream
- Teraspace addressing support (improves portability and performance)
- More explicit control on CCSID-translation for stream classes
- A third parameter for main() for current environment variables
- The ability to target V4R4, V4R5 and V5R1 servers
- Preprocessor output generated in either physical file member or a stream file.
- A Qshell command for compiling
- New LICOPT and CSOPT command keywords
- Greater synchronization with ILE C compiler