This manual describes the programming environment of the Compaq Tru64TM UNIX® (formerly DIGITAL UNIX) operating system, with an emphasis on the C programming language. The availability of other programming languages on any system is determined by the choices made at the time the system was configured or modified.
This manual addresses all programmers who use the Tru64 UNIX operating system to create or maintain programs in any supported language.
The following major changes and additions have been made to this manual for the Version 4.0F release of Tru64 UNIX:
Chapter 2 -- Updated information on C compiler options and their defaults.
Appendix D -- Deleted.
Documentation on the
-oldc
version of the C compiler has been dropped to discourage new
users from using it.
The plans are to retire it in the next major release
of Tru64 UNIX.
Miscellaneous minor changes and additions have been made throughout the manual.
This manual contains twelve chapters and three appendixes.
| Chapter 1 | Describes the phases of program development and which programming tools to use during those phases. |
| Chapter 2 | Describes the compiler system and how to use it. Topics covered include compiler commands, preprocessors, compilation options, multilanguage programs, and the archiver. |
| Chapter 3 | Describes the implementation-specific pragmas that are supported by the C compiler. |
| Chapter 4 | Describes the use, creation, and maintenance of shared libraries and discusses how symbols are resolved. |
| Chapter 5 | Describes how to use the
dbx
debugger.
It includes information about the
dbx
commands,
working with the monitor, setting breakpoints, and debugging machine code. |
| Chapter 6 | Describes how to use the
lint
command to produce clean code. |
| Chapter 7 | Describes how to use the Third Degree Atom tool to perform memory access checks and leak detection on an application program. |
| Chapter 8 | Describes how to use the
prof
and
gprof
tools to profile your code, enabling you to find
which portions of code are consuming the most execution time. |
| Chapter 9 | Discusses how to use prepackaged Atom tools to instrument an application program for various purposes, such as to obtain profiling data or to perform cache-use analysis. It also describes how you can design and create custom Atom tools. |
| Chapter 10 | Describes how to optimize your code using the optimizer and the post-link optimizer. |
| Chapter 11 | Describes how to use the features of the DEC C compiler to write a structured exception handler or a termination handler. |
| Chapter 12 | Describes how to develop multithreaded programs. |
| Appendix A | Describes how to use 32-bit pointers on Tru64 UNIX systems. |
| Appendix B | Describes how to achieve source code compatibility for C language programs in the System V habitat. |
| Appendix C | Describes how to write dynamically configurable kernel subsystems. |
In addition to this manual, the following manuals contain information pertaining to program development:
Programming: General
Calling Standard for Alpha Systems
Assembly Language Programmer's Guide
Digital Portable Mathematics Library
Writing Software for the International Market
Programming: Compatibility, Migration, and Standards
ULTRIX to DIGITAL UNIX Migration Guide
VAX System V to DIGITAL UNIX Migration Guide
System V Compatibility User's Guide
POSIX Conformance Document
Programming: Realtime
Programming: Streams
Programmer's Guide: STREAMS
Programming: Multithreaded Applications
General User Information
The printed version of the Tru64 UNIX documentation set is color coded to help specific audiences quickly find the books that meet their needs. (You can order the printed documentation from Compaq.) This color coding is reinforced with the use of an icon on the spines of books. The following list describes this convention:
| Audience | Icon | Color Code |
| General users | G | Blue |
| System and network administrators | S | Red |
| Programmers | P | Purple |
| Device driver writers | D | Orange |
| Reference page users | R | Green |
Some books in the documentation set help meet the needs of several audiences. For example, the information in some system books is also used by programmers. Keep this in mind when searching for information on specific topics.
The Documentation Overview provides information on all of the books in the Tru64 UNIX documentation set.
Compaq welcomes any comments and suggestions you have on this and other Tru64 UNIX manuals.
You can send your comments in the following ways:
Fax: 603-884-0120 Attn: UBPG Publications, ZKO3-3/Y32
Internet electronic mail:
readers_comment@zk3.dec.com
A Reader's Comment form is located on your system in the following location:
/usr/doc/readers_comment.txt
Mail:
Compaq Computer Corporation
UBPG Publications Manager
ZKO3-3/Y32
110 Spit Brook Road
Nashua, NH 03062-9987
A Reader's Comment form is located in the back of each printed manual. The form is postage paid if you mail it in the United States.
Please include the following information along with your comments:
The full title of the book and the order number. (The order number is printed on the title page of this book and on its back cover.)
The section numbers and page numbers of the information on which you are commenting.
The version of Tru64 UNIX that you are using.
If known, the type of processor that is running the Tru64 UNIX software.
The Tru64 UNIX Publications group cannot respond to system problems or technical support inquiries. Please address technical questions to your local system vendor or to the appropriate Compaq technical support office. Information provided with the software media explains how to send problem reports to Compaq.
%$A percent sign represents the C shell system prompt. A dollar sign represents the system prompt for the Bourne, Korn, and POSIX shells.
#A number sign represents the superuser prompt.
% catBoldface type in interactive examples indicates typed user input.
Italic (slanted) type indicates variable values, placeholders, and function argument names.
In syntax definitions, brackets indicate items that are optional and braces indicate items that are required. Vertical bars separating items inside brackets or braces indicate that you choose one item from among those listed.
coloredtext
In syntax definitions, literal elements are colored green. Variable values, placeholders, and function argument names are colored red. No special colored text is used outside of syntax descriptions.
In syntax definitions, a horizontal ellipsis indicates that the preceding item can be repeated one or more times.
cat(1)A cross-reference to a reference page includes the appropriate section
number in parentheses.
For example,
cat(1)
indicates that you can find information on the
cat
command in Section 1 of the reference pages.
In an example, a key name enclosed in a box indicates that you press that key.
This symbol indicates that you hold down the first named key while pressing the key or mouse button that follows the slash. In examples, this key combination is enclosed in a box (for example, [Ctrl/C] ).