GNAT User's Guide for Native Platforms

Table of Contents

Next: , Up: (dir)


GNAT User's Guide for Native Platforms

GNAT User's Guide for Native Platforms , November 18, 2015

AdaCore

Copyright © 2008-2016, Free Software Foundation

`GNAT, The GNU Ada Development Environment'

GCC version 6.3.0
AdaCore

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with the Front-Cover Texts being "GNAT User's Guide for Native Platforms", and with no Back-Cover Texts. A copy of the license is included in the section entitled GNU Free Documentation License.

--- The Detailed Node Listing ---

About This Guide

Getting Started with GNAT

The GNAT Compilation Model

Foreign Language Representation

File Naming Topics and Utilities

Handling Arbitrary File Naming Conventions with gnatname

File Name Krunching with gnatkr

Renaming Files with gnatchop

Configuration Pragmas

GNAT and Libraries

General Ada Libraries

Stand-alone Ada Libraries

Conditional Compilation

Modeling Conditional Compilation in Ada

Preprocessing with gnatprep

Mixed Language Programming

Building Mixed Ada and C++ Programs

Generating Ada Bindings for C and C++ headers

Generating C Headers for Ada Specifications

GNAT and Other Compilation Models

Using GNAT Files with External Tools

Building Executable Programs with GNAT

Building with gnatmake

Compiling with gcc

Compiler Switches

Binding with gnatbind

Switches for gnatbind

Linking with gnatlink

Using the GNU make Utility

GNAT Project Manager

Building With Projects

Organizing Projects into Subsystems

Library Projects

Project Extension

Aggregate Projects

Aggregate Library Projects

Project File Reference

Attributes

Tools Supporting Project Files

gnatmake and Project Files

GNAT Utility Programs

The File Cleanup Utility gnatclean

The GNAT Library Browser gnatls

The Cross-Referencing Tools gnatxref and gnatfind

Examples of gnatxref Usage

The Ada to HTML Converter gnathtml

GNAT and Program Execution

Running and Debugging Ada Programs

Stack Traceback

Code Coverage and Profiling

Code Coverage of Ada Programs with gcov

Profiling an Ada Program with gprof

Improving Performance

Performance Considerations

Reducing Size of Executables with Unused Subprogram/Data Elimination

Overflow Check Handling in GNAT

Stack Related Facilities

Memory Management Issues

Platform-Specific Information

Run-Time Libraries

Specifying a Run-Time Library

Microsoft Windows Topics

Mixed-Language Programming on Windows

Windows Calling Conventions

Using DLLs with GNAT

Building DLLs with gnatdll

Creating a Spec for Ada DLLs

GNAT and Windows Resources

Debugging a DLL

Windows Specific Add-Ons

Mac OS Topics

Elaboration Order Handling in GNAT

Inline Assembler

Other Asm Functionality