 |
| |
|
 |
 |
 |
SAS/C® Compiler Software -- Release 7.50 Now Available
The SAS/C and SAS/C++ family of products provides a versatile development environment for IBM zSeries® and System/390® processors. Enhancements and product features for SAS/C 7.50F include support for z/Architecture instructions and 64-bit addressing, IEEE floating-point, C99 math library and a number of C++ language enhancements and extensions. The SAS/C runtime library, optimizer and debugging environments have been updated and enhanced to fully support the breadth of C/C++ 64-bit addressing, IEEE and C++ product features. Finally, the SAS/C and SAS/C++ 7.50.06 Cross-compiler products for Windows, Linux, Solaris and Aix incorporate the same enhancements and features that are provided with SAS/C and SAS/C++ 7.50F for z/OS.
| In the Spotlight |
 |
 |
Technical Details and
Support –
|
 |
 |
|
|
|
For additional information on SAS/C 7.50 product enhancements and features, refer to the SAS/C 7.50F Release Notes and the SAS/C 7.50 Changes and Enhancements.
Read the product reclassification notice.
The SAS/C Compiler has proven reliability for over a decade, in the demanding development environments of business, industry, education and government. One indication of the power and flexibility of the SAS/C Compiler is that SAS Institute has relied on it to engineer the SAS System for Information Delivery.
The primary elements of the SAS/C and C++ development system are the compiler, linker, full-screen debugger and the freely redistributable run-time library.
Key features of the SAS/C Compiler Product
- Cross-Platform Development. There is also the capability to implement cross-development of C/C++ applications on UNIX, Windows 95 and Windows NT using the SAS/C Cross-Platform Compiler. Pre-linked output is produced on the workstation, which can then be transferred to the mainframe for final linking. Benefits to using the Cross-Platform Compiler are reduced mainframe load, improved source management, improved build management and improved compilation turnaround.
- POSIX and Unix System Services MVS Support. SAS/C supports the compilation and execution of applications that run under OS/390 Unix System Services. The SAS/C Library implements a C language interface to the operating system functionality specified by the POSIX 1003.1 standard. SAS/C programmers have the option of developing applications that are either strictly conforming POSIX.1 programs or developing mixed-mode programs that take advantage of traditional MVS and SAS/C functionality, like VSAM and dynamic load modules, as well as POSIX functionality, such as pipes and directories.
- TCP/IP Support. The SAS/C Library also provides TCP/IP support with a complete implementation of the Berkeley Software Distribution (BSD) UNIX Socket Library interface to support both Integrated (Unix System Services, USS) and non-Integrated sockets. The SAS/C Socket Library has an open architecture that permits using TCP/IP products from different vendors such as IBM's SecurewayTM or Computer Associate's NetworkIT TCPaccess products. The SAS/C Socket Library provides the highest practical level of compatibility with the BSD UNIX socket library for MVS and CMS environments. Programs whose only UNIX dependencies are in the area of sockets or other UNIX features already supported by the SAS/C Library can be compiled and executed with little or no modification. Because the socket functions are integrated with the existing SAS/C Library and are not add-on features, many of the incompatibilities of other MVS and CMS socket implementations have been avoided. For example, there are no requirements for additional header files specific to MVS or CMS, the close, read, and write calls operate on both files and sockets, just as they do in a UNIX operating system, and errno is used for socket function error codes.
- Inter-language Communication. Developing a multi-language program is never as simple as programming in a single language. The SAS/C inter-language communication (ILC) support minimizes the programming difficulties and reduces the detailed knowledge required to create robust multi-language programs. The SAS/C ILC support provides routines to create and delete execution frameworks for C as well as FORTRAN, COBOL, PL/I, and Pascal. It also provides the ILCLINK utility that automates the multilanguage linking process, simplifying the task of producing a multi-language module.
- Connectivity Support Library (SAS Technical Report C-113). The SAS/C CSL facilitates network communication between SAS/C programs and other applications. CSL is a set of libraries and utilities that support the use of several popular application protocols for distributed (client/server) computing, such as X Window System graphical user interface, Sun Remote Procedure Call (RPC) and Sun Network File System (NFS) protocols. CSL also provides a rexec client function, some Simple Network Management Protocol (SNMP) agent customization functions, and a few supporting POSIX functions.
- Full-Screen Support Library. SAS/C FSSL functions free you from handling details of IBM terminal communication, enabling more focus and flexibility in full-screen applications development. FSSL provides support for developing full-screen, windowing, and hypertext applications for both the CMS and MVS operating systems. Full-Screen applications would include data entry, system interface screens, and software packages, (including editors and can be used with the wide variety of mainframe terminals), that communicate by using the IBM 3270 data stream format. Applications are completely portable between MVS and CMS.
- Interactive Full-screen Debugger (Including Remote and Cross-Platform Debugging). This feature allows you to find run-time errors and has been designed to help you determine the location of errors in your programs and why the errors are occurring. There are various methods to choose: Full-screen mode, Line-mode, Batch-mode, or Remote. Each method provides many capabilities to enhance your productivity. These include: trace the program flow, request breakpoints to interrupt the program, re-execute or bypass code, single step through the program, perform actions to access and modify expressions, (including structures, unions and arrays), produce a storage analysis report, escape to your operating system's debugger, and execute an EXEC or CLIST.
- Highly Optimized Code. The 'optimize' compiler option enables global optimization, which optimizes the flow of control and data through an entire function. Some of the optimizations performed are register allocation, dead store elimination, moving invariant calculations out of loops, constant propagation and folding, merging common subexpressions, dead code elimination, induction variable transformations, and "very busy" expression hoisting. In addition, inline functions can be defined in conjunction with optimization. The result is a reduction of function call overhead.
- VSAM File Support.
- CICS Command Language Translator. The SAS/C CICS Command Language Translator enables you to develop application programs to run under all IBM supported releases of CICS, including the latest versions of the CICS Transaction Server. Transaction Server support includes processing for the Application Programming Interface, System Programming Interface, and Business Transaction Services. CICS commands may be placed within your C source code, in addition to calling C routines from your COBOL CICS programs.
- Systems Programming Environment. The SAS/C Systems Programming Environment (SPE) is designed to enable the C language to be used as a Systems Programming language in the IBM 370 environment. SPE consists of the support routines needed to execute a C program and a small run-time library that is Systems-Programming oriented. Source code for all of the SPE routines that interface with the operating system is provided, enabling the Systems Programmer to modify the library as required to meet specific application requirements and to maximize efficiency. To further improve performance, the SPE library provides a minimal C runtime environment that uses streamlined prologs and epilogs for all function calls.
- Standard C++ Library. Incorporated into the SAS/C C++ Development System Product are the industry standard Roque Wave libraries: Standard C++ Library and Tools.h++. The SAS/C integration with the Rogue Wave product allows implementations of applications on various operating systems. Inclusion of these libraries results in a large and comprehensive collection of classes and functions for fine-grained, low-level programming. The use of the Standard C++ Library and Standard Template Library results in smaller source code, provides flexibility of using algorithms with C++ pointers and arrays as well as conventional objects. This leads to more efficient coding and faster execution. Also included in the C++ support is C++ Exception Handling, various new functions, keywords and the "long long" data type. The Standard C++ Library is integrated to provide functionality of the Standard Template Library (STL), IOStream library, Locale facility, and various classes as defined in the ISO/ANSI C++ standard.
- Tools.h++® Library. Tools.h++ provides a rich, robust and versatile C++ foundation class library. It encapsulates the Standard C++ Library with an object-oriented interface. Tools.h++ contains features not included in the Standard C++ Library, such as time, date and regular expression classes, enhanced strings, object persistence and virtual streams. Used in tandem with the Standard C++ Library, one can take advantage of the benefits of both low-level generic programming and object-orientation. When you use the Standard C++ Library with Tools.h++ , you get the portability and flexibility of the ANSI/ISO standard, plus the safety and reusability that come with object-oriented design.
- C++ Template Support. In C++, it is common for the same abstract data structure to be applied to different data types. For example, you could have a stack of integers, characters, or pointers. Rather than create a new stack class for each type, a template allows you to write generic type-independent code. A C++ template defines a family of types or functions by creating a parameterized type. Parameterized types can be used wherever actual types can be used. However, the template itself is not a type. The Standard C++ Library and Tools.h++ products provide a comprehensive selection of templates offering essential building blocks to sophisticated code design.
- REXX Support. The SAS/C Library provides an interface that enables you to extend CMS REXX with function packages written in the C language. Function packages add flexibility to the REXX language. In addition to extending the REXX language, function packages can also boost the performance of a REXX program. With function packages written in SAS/C, more complicated or arithmetically intensive functions can be executed in machine code rather than interpreted.
- Support for Database Access. SAS/C provides support for developing applications that use embedded SQL statements in your C code to access data that are in an ORACLE or a DB2 table or in a relational database such as IMS or SQL/DS. You can also use the DL/I call-level interface to access IMS databases from your SAS/C application. (IBM DLL support is being added for SAS/C Release 7.50 that will also enable SAS/C applications to access DB2 data via the DB2 call-level interface.)
- ISPF Support. ISPF panels are provided with SAS/C that enable you to compile, link and debug your SAS/C applications either interactively in TSO or with batch processing. The ISPF panels are designed to make it easier for a programmer who is not familiar with the OS/390 operating environment to use SAS/C. The panels are provided in both CLIST and REXX to facilitate tailoring to your site. You can also write your own ISPF applications that can be used with SAS/C.
- GDDM and Netview Support. SAS/C can be used to develop applications that use IBM's Graphical Display Manager (GDDM) or to customize the NetView Distribution Manager. GDDM functions can be called from a SAS/C application and all of the C language services described in the NetView documentation can be used with SAS/C.
- Limited Distribution Library. SAS/C customers my ship this runtime library to third parties without any associated fees.
- Resident Library Product. This product allows a customer to compile on one operating system (such as CMS) and link on another (such as OS/390).
- Redistribution Library. This package allows a SAS/C customer to ship SAS/C components to a third party. The third party would then be allowed to prelink, link and execute an application at their site.
|
 |
|