C User's Guide HomeContentsPreviousNextIndex


Preface

This manual describes the Sun WorkShopTM 6 C programming language compiler along with ANSI C compiler-specific information. This manual describes the lint program that you can use to examine your code, provides instructions for parallelizing your code, explains how to transition to ANSI/ISO compliant code, describes the incremental linker, and the interactive program cscope. In the back of this manual, there are several appendices with reference material such as ANSI C data representations, implementation defined behavior, the differences between Sun C (K & R) and Sun ANSI C, performance tuning, and converting applications to compile for the 64-bit environment.

Multiplatform Release

This Sun WorkShop release supports versions 2.6, 7, and 8 of the SolarisTM SPARCTM Platform Edition and Solaris Intel Platform Edition Operating Environments.


Note – The term "x86" refers to the Intel 8086 family of microprocessor chips, including the Pentium, Pentium Pro, and Pentium II processors and compatible microprocessor chips made by AMD and Cyrix. In this document, the term "x86" refers to the overall platform architecture, whereas "Intel Platform Edition" appears in the product name.

Access to Sun WorkShop Development Tools

Because Sun WorkShop product components and man pages do not install into the standard /usr/bin/ and /usr/share/man directories, you must change your PATH and MANPATH environment variables to enable access to Sun WorkShop compilers and tools.

To determine if you need to set your PATH environment variable:

1. Display the current value of the PATH variable by typing:

% echo $PATH

2. Review the output for a string of paths containing /opt/SUNWspro/bin/.

If you find the paths, your PATH variable is already set to access Sun WorkShop development tools. If you do not find the paths, set your PATH environment variable by following the instructions in this section.

To determine if you need to set your MANPATH environment variable:

1. Request the workshop man page by typing:

% man workshop

2. Review the output, if any.

If the workshop(1) man page cannot be found or if the man page displayed is not for the current version of the software installed, follow the instructions in this section for setting your MANPATH environment variable.


Note – The information in this section assumes that your Sun WorkShop 6 products were installed in the /opt directory. Contact your system administrator if your Sun WorkShop software is not installed in /opt.

The PATH and MANPATH variables should be set in your home .cshrc file if you are using the C shell or in your home .profile file if you are using the Bourne or Korn shells:

For more information about the PATH variable, see the csh(1), sh(1), and ksh(1) man pages. For more information about the MANPATH variable, see the man(1) man page. For more information about setting your PATH and MANPATH variables to access this release, see the Sun WorkShop 6 Installation Guide or your system administrator.

How This Book Is Organized

Chapter 1, "Introduction to the C Compiler," provides information about the C compiler, including standards conformance, organization of the compiler, and C-related programming tools.

Chapter 2, "cc Compiler Options," describes the C compiler options. It includes sections on option syntax, the cc options, and options passed to the linker.

Chapter 3, "Sun ANSI/ISO C Compiler-Specific Information," documents those areas specific to the Sun ANSI C compiler.

Chapter 4, "Parallelizing Sun ANSI/ISO C Code," The Sun ANSI/ISO C compiler can optimize code to run on SPARC shared-memory multiprocessor machines.

Chapter 5, "Incremental Link Editor (ild)," describes incremental linking, ild-specific features, example messages, and ild options.

Chapter 6, "lint Source Code Checker," describes the lint program, its modes, options, messages, directives, and other helpful information.

Chapter 7, "Transitioning to ANSI/ISO C," provides tips and strategies for writing ANSI C compliant code.

Chapter 8, "Converting Applications," provides the information you need to write code for the 32 bit or the 64-bit compilation environment.

Chapter 9, "cscope: Interactively Examining a C Program," is a tutorial for the cscope browser which is provided with this release.

Appendix A, "ANSI/ISO C Data Representations," describes how ANSI C represents data in storage and the mechanisms for passing arguments to functions.

Appendix B, "Implementation-Defined Behavior," describes the implementation-defined features of the Sun WorkShop C compiler.

Appendix C, "Performance Tuning (SPARC)," describes performance tuning on SPARC platforms.

Appendix D, "The Differences Between K&R Sun C and Sun ANSI/ISO C," describes the differences between the previous K&R Sun C and Sun ANSI C.

Typographic Conventions

TABLE P-1 shows the typographic conventions that are used in Sun WorkShop documentation.

TABLE P-1   Typographic Conventions
Typeface Meaning Examples
AaBbCc123 The names of commands, files, and directories; on-screen computer output Edit your .login file.
Use ls -a to list all files.
% You have mail.
AaBbCc123 What you type, when contrasted with on-screen computer output % su Password:
AaBbCc123 Book titles, new words or terms, words to be emphasized Read Chapter 6 in the User's Guide.
These are called class options.
You must be superuser to do this.
AaBbCc123 Command-line placeholder text; replace with a real name or value To delete a file, type rm filename.


Shell Prompts

TABLE P-2 shows the default system prompt and superuser prompt for the C shell, Bourne shell, and Korn shell.

TABLE P-2   Shell Prompts
Shell Prompt
C shell %
Bourne shell and Korn shell $
C shell, Bourne shell, and Korn shell superuser #


Related Documentation

You can access documentation related to the subject matter of this book in the following ways:

TABLE P-3 lists related Sun WorkShop 6 manuals by document collection.

TABLE P-3   Related Sun WorkShop 6 Documentation by Document Collection 
Document Collection Document Title Description
ForteTM Developer 6 / Sun WorkShop 6 Release Documents About Sun WorkShop 6 Documentation Describes the documentation available with this Sun WorkShop release and how to access it.

What's New in Sun WorkShop 6 Provides information about the new features in the current and previous release of Sun WorkShop.

Sun WorkShop 6 Release Notes Contains installation details and other information that was not available until immediately before the final release of Sun WorkShop 6. This document complements the information that is available in the component readme files.
Forte Developer 6 / Sun WorkShop 6 Analyzing Program Performance With Sun WorkShop 6 Explains how to use the new Sampling Collector and Sampling Analyzer (with examples and a discussion of advanced profiling topics) and includes information about the command-line analysis tool er_print, the LoopTool and LoopReport utilities, and UNIX profiling tools prof, gprof, and tcov.

Debugging a Program With dbx Provides information on using dbx commands to debug a program with references to how the same debugging operations can be performed using the Sun WorkShop Debugging window.

Introduction to Sun WorkShop Acquaints you with the basic program development features of the Sun WorkShop integrated programming environment.
ForteTM C 6 / Sun WorkShop 6 Compilers C C User's Guide Describes the C compiler options, Sun-specific capabilities such as pragmas, the lint tool, parallelization, migration to a 64-bit operating system, and ANSI/ISO-compliant C.
ForteTM C++ 6 / Sun WorkShop 6 Compilers C++ C++ Library Reference Describes the C++ libraries, including C++ Standard Library, Tools.h++ class library, Sun WorkShop Memory Monitor, Iostream, and Complex.

C++ Migration Guide Provides guidance on migrating code to this version of the Sun WorkShop C++ compiler.

C++ Programming Guide Explains how to use the new features to write more efficient programs and covers templates, exception handling, runtime type identification, cast operations, performance, and multithreaded programs.

C++ User's Guide Provides information on command-line options and how to use the compiler.

Sun WorkShop Memory Monitor User's Manual Describes how the Sun WorkShop Memory Monitor solves the problems of memory management in C and C++. This manual is only available through your installed product (see /opt/SUNWspro/docs/index.html) and not at the docs.sun.com Web site.
ForteTM for High Performance Computing 6/ Sun WorkShop 6 Compilers Fortran 77/95 Fortran Library Reference Provides details about the library routines supplied with the Fortran compiler.

Fortran Programming Guide Discusses issues relating to input/output, libraries, program analysis, debugging, and performance.

Fortran User's Guide Provides information on command-line options and how to use the compilers.

FORTRAN 77 Language Reference Provides a complete language reference.

Interval Arithmetic Programming Reference Describes the intrinsic INTERVAL data type supported by the Fortran 95 compiler.
ForteTM TeamWare 6 / Sun WorkShop TeamWare 6 Sun WorkShop TeamWare 6 User's Guide Describes how to use the Sun WorkShop TeamWare code management tools.
Forte Developer 6/ Sun WorkShop Visual 6 Sun WorkShop Visual User's Guide Describes how to use Visual to create C++ and JavaTM graphical user interfaces.
ForteTM / Sun Performance Library 6 Sun Performance Library Reference Discusses the optimized library of subroutines and functions used to perform computational linear algebra and fast Fourier transforms.

Sun Performance Library User's Guide Describes how to use the Sun-specific features of the Sun Performance Library, which is a collection of subroutines and functions used to solve linear algebra problems.
Numerical Computation Guide Numerical Computation Guide Describes issues regarding the numerical accuracy of floating-point computations.
Standard Library 2 Standard C++ Class Library Reference Provides details on the Standard C++ Library.

Standard C++ Library User's Guide Describes how to use the Standard C++ Library.
Tools.h++ 7 Tools.h++ User's Guide Discusses details on the Tools.h++ class library.

Tools.h++ Class Library Reference Provides use of the C++ classes for enhancing the efficiency of your programs.


TABLE P-4 describes related Solaris documentation available through the docs.sun.com Web site.

TABLE P-4   Related Solaris Documentation
Document Collection Document Title Description
Solaris Software Developer Linker and Libraries Guide Describes the operations of the Solaris link-editor and runtime linker and the objects on which they operate.

Programming Utilities Guide Provides information for developers about the special built-in programming tools that are available in the Solaris operating environment.



Sun Microsystems, Inc.
Copyright information. All rights reserved.
Feedback
Library   |   Contents   |   Previous   |   Next   |   Index