-->

Previous | Table of Contents | Next

Page 200

PRAGMAS

Two #pragma directives are supported for GNU C++ to permit using the same header file for two purposes: as a definition of interfaces to a given object class, and as the full definition of the contents of that object class.

#pragma interface (C++ only.) Use this directive in header files that define object classes, to save space in most of the object files that use those classes. Normally, local copies of certain information (backup copies of inline member functions, debugging information, and the internal tables that implement virtual functions) must be kept in each object file that includes class definitions. You can use this pragma to avoid such duplication. When a header file containing #pragma interface is included in a compilation, this auxiliary information will not be generated (unless the main input source file itself uses #pragma implementation). Instead, the object files will contain references to be resolved at link time.
#pragma implementation (C++ only.) Use this pragma in a main input file, when you want full output from included
#pragma implementation header files to be generated (and made globally visible). The included header file, in turn,
"objects.h" should use #pragma interface. Backup copies of inline member functions, debugging information, and the internal tables used to implement virtual functions are all generated in implementation files.
If you use #pragma implementation with no argument, it applies to an include file with the same basename as your source file; for example, in allclass.cc, #pragma implementation by itself is equivalent to #pragma i-plementation "allclass.h". Use the string argument if you want a single implementation file to include code from multiple header files.
There is no way to split up the contents of a single header file into multiple implementation files.

FILES

file.c C source file
file.h C header (preprocessor) file
file.i Preprocessed C source file
file.C C++ source file
file.cc C++ source file
file.cxx C++ source file
file.m Objective-C source file
file.s Assembly language file
file.o Object file
a.out Link edited output
TMPDIR/cc Temporary files
LIBDIR/cpp Preprocessor
LIBDIR/cc1 Compiler for C
LIBDIR/cc1plus Compiler for C++
LIBDIR/collect Linker front end needed on some machines
LIBDIR/libgcc.a gcc subroutine library
/lib/crt[01n].o Startup routine
LIBDIR/ccrt0 Additional startup routine for C++
/lib/libc.a Standard C library; see intro(3)
/usr/include Standard directory for #include files
LIBDIR/include Standard gcc directory for #include files
LIBDIR/g++_include Additional g++ directory for #include

LIBDIR is usually /usr/local/lib/machine/version.

TMPDIR comes from the environment variable TMPDIR (default /usr/tmp if available; otherwise, /tmp.).

Page 201

SEE ALSO

cpp(1), as(1), ld(1), gdb(1), adb(1), dbx(1), sdb(1)

gcc, cpp, as, ld, and gdb entries in info.

Using and Porting GNU CC (for version 2.0), Richard M. Stallman; The C Preprocessor, Richard M. Stallman; Debugging with GDB: the GNU Source-Level Debugger, Richard M. Stallman and Roland H. Pesch; Using as: the GNU Assembler, Dean Elsner, Jay Fenlason & friends; ld: the GNU Linker, Steve Chamberlain and Roland Pesch.

BUGS

For instructions on reporting bugs, see the GCC manual.

COPYRING

Copyright 1991, 1992, 1993 Free Software Foundation, Inc.

Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.

Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.

Permission is granted to copy and distribute translations of this manual into another language, under the preceding conditions for modified versions, except that this permission notice may be included in translations approved by the Free Software Foundation instead of in the original English.

AUTHORS

See the GNU CC manual for the contributors to GNU CC.

GNU Tools, 13 October 1993

gemtopbm

gemtopbm—Convert a GEM IMG file into a portable bitmap

SINOPSIS

gemtopbm [-d] [ gemfile ]

DESCRIPTION

Reads a GEM IMG file as input. Reads from stdin if input file is omitted. Produces a portable bitmap as output.

OPTIONS

-d Produce output describing the contents of the IMG file.

BUGS

Does not support files containing more than one plane.

SEE ALSO

pbmtogem(1), pbm(5)

AUTHOR

Copyright" 1988 Diomidis D. Spinellis (dds@cc.ic.ac.uk).

11 July 1992

Previous | Table of Contents | Next