Introduction to the SAS/C Library |
Here are the rules for compiling, linking, and executing
programs with different releases of the compiler and library:
-
For a newly compiled program, use a more recent
release of the transient library than the compiler, or use the same release.
A program compiled and linked with an older release will run with a new release
of the transient library. If you run a newly compiled and linked program
with an old release of the transient library, the program may fail in various
ways, possibly with an 0C1 or 0C6 ABEND.
-
Use a release of the transient library that is
the same or more recent than the resident library. If the transient library
detects a release mismatch with the resident library, it prints a warning
message.
-
Use a release of the resident library that is
the same or more recent than the compiler. If you link compiled code with
a wrong release of the resident library, no warning is produced. (However,
you will likely get a system 0CX ABEND when you execute the program.)
-
Use a version of the SAS/C header files that is
no more recent than the compiler version.
-
To link code produced by various releases of the
compiler, use a release of the resident library that is at least as recent
as the most recent release of the compiler used.
-
For an application with multiple load modules,
link all modules of the load module with the same release of the resident
library. If you do not, unpredictable errors may occur. However, you can
still use more than one level of the compiler to generate the object code,
provided that the modules are all compatible with the level of the resident
library as specified earlier in this section.
Likely Results of Mixing Releases of the Compiler and Libraries shows the likely
result of using different releases of the compiler and the
resident and transient libraries to compile and link programs. If you are
unsure which version of the library you are using, you can use the
=version
run-time option, which displays the library version numbers.
Note:
Combining more than three versions of the
compiler and
resident and transient libraries becomes very complicated and is not documented
here. In Likely Results of Mixing Releases of the Compiler and Libraries where a row contains two entries of "older," they refer to the same older
version.
Copyright © 2001
by SAS Institute Inc., Cary, NC, USA. All rights reserved.