-->
Page 159
_Wtemplate_debugging | When using templates in a C++ program, warn if debugging is not yet fully available. |
_w | Inhibit all warning messages. |
+eN | Control how virtual function definitions are used, in a fashion compatible with cfront 1.x. |
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 | 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 | Use this pragma in a main input file, when you want full output from included |
#pragma implementation !objects.h! | header files to be generated (and made globally visible). The included header file, in turn, 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 implementation "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.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.s | Assembly language file |
file.o | Object file |
a.out | Link edited output |
TMPDIR/cc | Temporary files |
LIBDIR/cpp | Preprocessor |
LIBDIR/cc1plus | Compiler |
LIBDIR/collect | Linker front end needed on some machines |
LIBDIR/libgcc.a | GCC subroutine library |
/lib/crt[01n].o | Start-up routine |
LIBDIR/ccrt0 | Additional start-up routine for C++ |
/lib/libc.a | Standard C library; see intro(3) |
Page 160
/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, else /tmp).
SEE ALSO
gcc(1), 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 and friends; gld: the GNU linker, Steve Chamberlain and Roland Pesch.
BUGS
For instructions on how to report bugs, see the GCC manual.
COPYING
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 above 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, 30 April 1993
g3topbmConvert a Group 3 fax file into a portable bitmap
SYNOPSIS
g3topbm [-kludge][-reversebits][-stretch][g3file]
DESCRIPTION
Reads a Group 3 fax file as input. Produces a portable bitmap as output.
OPTIONS
-kludge | Tells g3topbm to ignore the first few lines of the file; sometimes fax files have some junk at the beginning. |
-reversebits | Tells g3topbm to interpret bits least-significant first, instead of the default most-significant first. Apparently, some fax modems do it one way and others do it the other way. If you get a whole bunch of "bad code word" messages, try using this flag. |
-stretch | Tells g3topbm to stretch the image vertically by duplicating each row. This is for the low-quality transmission mode. |
All flags can be abbreviated to their shortest unique prefix.
Page 161
REFERENCES
The standard for Group 3 fax is defined in CCITT Recommendation T.4.
BUGS
Probably.
SEE ALSO
pbmtog3(1), pbm(5)
AUTHOR
Copyright " 1989 by Paul Haeberli (paul@manray.sgi.com)
2 October 1989
gawkPattern scanning and processing language
SYNOPSIS
gawk [ POSIX or GNU style options ] _f program-file [ __ ] file ... gawk [ POSIX or GNU style options ] [ __ ] program-text file ...
DESCRIPTION
gawk is the GNU Project's implementation of the awk programming language. It conforms to the definition of the language in the 1003.2 Command Language and Utilities Standard. This version in turn is based on the description in The AWK Programming Language, by Aho, Kernighan, and Weinberger, with the additional features defined in the System V Release 4 version of awk. gawk also provides some GNU-specific extensions.
The command line consists of options to gawk itself, the awk program text (if not supplied via the _f or __file options), and values to be made available in the ARGC and ARGV predefined awk variables.
OPTIONS
gawk options may be either the traditional one-letter options, or the GNU-style long options. Traditional style options start with a single _, while GNU long options start with __. GNU-style long options are provided for both GNU-specific features and for mandated features. Other implementations of the awk language are likely to only accept the traditional one-letter options.
Following the standard, gawk-specific options are supplied via arguments to the _W option. Multiple _W options may be supplied, or multiple arguments may be supplied together if they are separated by commas, or enclosed in quotes and separated by whitespace. Case is ignored in arguments to the _W option. Each _W option has a corresponding GNU-style long option, as detailed below. Arguments to GNU-style long options are either joined with the option by an = sign, with no intervening spaces, or they may be provided in the next command-line argument.
gawk accepts the following options:
_F fs, __field-separator=fs | Use fs for the input field separator (the value of the FS-predefined variable). |
_v var=val, __assign=var=val | Assign the value val, to the variable var, before execution of the program begins. Such variable values are available to the BEGIN block of an awk program. |
_f program-file, | Read the awk program source from the file program-file, instead of from the first |
__file=program-file | command-line argument. Multiple _f (or __file) options may be used. |
_mf=NNN, _mr=NNN | Set various memory limits to the value NNN. The f flag sets the maximum number of fields, and the r flag sets the maximum record size. These two flags and the _m option are from the AT&T Bell Labs research version of awk. They are ignored by gawk, since gawk has no predefined limits. |