-->
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
gemtopbmConvert 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