Table of Contents



Table of Contents      

Introduction

Getting Up and Running

 

Debugging

New C++ Features

 

External Interface   

Tutorials

Man Page

FAQ   


Introduction

What is KAI C++?
How to Use This Manual
User's Guide Conventions
How You Can Help Yourself and Others

Getting Up and Running with KAI C++

SGI Users
KCC Codekey license

Precompiled Headers

Overview
Details
Automatic Precompiled Header Processing
Manual Precompiled Header Processing
Other Ways for Users to Control Precompiled Headers
Organizing Your Sources to Improve PCH Performance

Tutorial: How KAI C++ Improves Performance

Using Higher-Level Abstractions
KAI C++ Transformations
Lightweight Objects
Inlining
Branch Simplification
Constant Folding

Tutorial: Helping the KAI C++ Optimizer

Writing Optimizable Code
Inline Functions
Aliasing
Aliasing in FORTRAN vs. C++
Abstract Float/Pointer
Abstract Float Example
Restrict Keyword

Tutorial: Using Templates with KAI C++

Template Declaration vs. Definition
Automatic Template Instantiation
Explicit Inclusion
Implicit Inclusion
Ad Hoc Approach
Prelinker
Building Libraries that Depend on Automatic Instantiation
Shared Libraries
Archives
One Instantiation Per Object
Closing Libraries
Building Libraries that Do Not Depend on Automatic Instantiation
Structuring Code to Reduce Template Bloat
Sharing via Inheritance
Sharing via Global Functions
Template Features that are Deprecated or Removed
Guiding Declarations
Option --split Removed
Parallel Prelinking is Moot
Other Template Instantiation Modes
Template Instantiation Pragmas

Tutorial: Using Exception-Handling in KAI C++

Reference: Command Line Options

Command-line Options
Keywords
Pragmas

Debugging

Compiling for Debugging
Example
For GDB Users
Starting GDB
Accessing Qualified Names
Base Classes
For SGI Irix 5.3 DBX Users
Printing Data Members
Base Classes

New C++ Features

Namespaces
Compiling Pre-Namespace Codes
New Features for Templates
Template Friend Declarations
Default Arguments for Type Templates
Non-Type Template Parameters for Function Templates
Explicit Instantiation of Templates
Keyword typename
Member templates
ISO Syntax for Full Specialization
Partial Specialization of Class Templates
Partial Ordering of Function Templates
Farewell to Guiding Declarations
Explicit Specification of Function Template Arguments
New-Style Casts
Run-time Type Identification (RTTI)
Note for SGI Users
Types Bool and Wchar_t
New Features for Classes
Mutable
Definition of Nested Class OutSide Enclosing Scope
Static Data Member Declarations
Non-converting Constructors
Friend Definitions
Covariant Returns Types for Virtual Functions
Array New and Delete
Declarations in Tested Conditions
Scope of For-Loop Variable
Const and Volatile Qualifiers Retained on Rvalues
Linkage Specification is Part of Type
New Library Features
Templatized Streams
Namespace rel_ops
Traits for Characters
Traits for Iterators
Allocators for Containers
Template Class stack
Templatized complex
Templatized Conversions Between bitset and basic_string
Change in Template Class basic_istream
Changes in Template Class valarray

Frequently Asked Questions

KAI C++ Man Page


Next Section         Copyright © 1996-1998. All rights reserved.

E-Mail KAI Technical Support   E-Mail KAI   Contact KAI   

This file last updated on 27 February 1997.