0179-0180.html
来自「linux-unix130.linux.and.unix.ebooks130 l」· HTML 代码 · 共 296 行
HTML
296 行
<HTML>
<HEAD>
<TITLE>Linux Complete Command Reference:User Commands:EarthWeb Inc.-</TITLE>
</HEAD>
<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">
<SCRIPT>
<!--
function displayWindow(url, width, height) {
var Win = window.open(url,"displayWindow",'width=' + width +
',height=' + height + ',resizable=1,scrollbars=yes');
}
//-->
</SCRIPT>
</HEAD>
-->
<!-- ISBN=0672311046 //-->
<!-- TITLE=Linux Complete Command Reference//-->
<!-- AUTHOR=Red Hat//-->
<!-- PUBLISHER=Macmillan Computer Publishing//-->
<!-- IMPRINT=Sams//-->
<!-- CHAPTER=01 //-->
<!-- PAGES=0001-0736 //-->
<!-- UNASSIGNED1 //-->
<!-- UNASSIGNED2 //-->
<P><CENTER>
<a href="0176-0178.html">Previous</A> | <a href="../ewtoc.html">Table of Contents</A> | <a href="0181-0182.html">Next</A></CENTER></P>
<A NAME="PAGENUM-179"><P>Page 179</P></A>
<TABLE>
<TR><TD>
</TD><TD>
The preprocessor predefines a macro
__STRICT_ANSI__ when you use the _ansi option.
Some header files may notice this macro and refrain from declaring certain functions or
defining certain macros that the ANSI standard doesn't call for; this is to avoid interfering with
any programs that might use these names for other things.
</TD></TR><TR><TD>
_fno_asm
</TD><TD>
Do not recognize asm, inline, or
typeof as a keyword. These words may then be used
as identifiers. You can use __asm__, __inline__, and
__typeof__ instead. _ansi implies _fno_asm.
</TD></TR><TR><TD>
_fno_builtin
</TD><TD>
Don't recognize built-in functions that do not begin with two leading underscores.
Currently, the functions affected include _exit,
abort, abs, alloca, cos, exit, fabs, labs, memcmp,
memcpy, sin, sqrt, strcmp, strcpy,and strlen.
The _ansi option prevents alloca and _exit from being built-in functions.
</TD></TR><TR><TD>
_fno_strict_prototype
</TD><TD>
Treat a function declaration with no arguments, such as
int foo();, as C would treat it—as saying nothing about the number of arguments or their types (C++ only). Normally, such
a declaration in C++ means that the function foo takes no arguments.
</TD></TR><TR><TD>
_trigraphs
</TD><TD>
Support ANSI C trigraphs. The
_ansi option implies _trigraphs.
</TD></TR><TR><TD>
_traditional
</TD><TD>
Attempt to support some aspects of traditional C compilers. For details, see the
GNU C Manual; the duplicate list here has been deleted so that we won't get complaints when it is
out of date.
But one note about C++ programs only (not C).
_traditional has one additional effect for C++: assignment to this is permitted. This is the same as the effect of
_fthis_is_variable.
</TD></TR><TR><TD>
_traditional_cpp
</TD><TD>
Attempt to support some aspects of traditional C preprocessors. This includes the items
that specifically mention the preprocessor previously, but none of the other effects of
_traditional.
</TD></TR><TR><TD>
_fdollars_in_identifiers
</TD><TD>
Permit the use of
$ in identifiers (C++ only). You can also use
_fno_dollars_in_identifiers to explicitly prohibit use of
$. (GNU C++ allows $ by default on some target systems but
not others.)
</TD></TR><TR><TD>
_fenum_int_equiv
</TD><TD>
Permit implicit conversion of
int to enumeration types (C++ only). Normally GNU
C++ allows conversion of enum to int, but not the other way around.
</TD></TR><TR><TD>
fexternal_templates
</TD><TD>
Produce smaller code for template declarations, by generating only a single copy of
each template function where it is defined (C++ only). To use this option successfully, you must
also mark all files that use templates with either
#pragma implementation (the definition) or #pragma
interface (declarations).
When your code is compiled with
_fexternal_templates, all template instantiations are
external. You must arrange for all necessary instantiations to appear in the implementation file; you
can do this with a typedef that references each instantiation needed. Conversely, when you
compile using the default option
_fno_external_templates, all template instantiations are
explicitly internal.
</TD></TR><TR><TD>
_fall_virtual
</TD><TD>
Treat all possible member functions as virtual, implicitly. All member functions (except
for constructor functions and new or delete member operators) are treated as virtual functions
of the class where they appear. This does not mean that all calls to these member functions will
be made through the internal table of virtual functions. Under some circumstances, the
compiler can determine that a call to a given virtual function can be made directly; in these cases,
the calls are direct in any case.
</TD></TR><TR><TD>
_fcond_mismatch
</TD><TD>
Allow conditional expressions with mismatched types in the second and third arguments.
The value of such an expression is void.
</TD></TR><TR><TD>
_fthis_is_variable
</TD><TD>
Permit assignment to
this (C++ only). The incorporation of user-defined free store
management into C++ has made assignment to this an anachronism. Therefore, by default it is
invalid to assign to this within a class member function. However, for backwards compatibility,
you can make it valid with _fthis-is-variable.
</TD></TR><TR><TD>
_funsigned_char
</TD><TD>
Let the type char be unsigned, like unsigned
char.
Each kind of machine has a default for what
char should be. It is either like unsigned char by default or like
signed char by default.
</TD></TR></TABLE>
<A NAME="PAGENUM-180"><P>Page 180</P></A>
<TABLE>
<TR><TD>
</TD><TD>
Ideally, a portable program should always use
signed char or unsigned char when it depends on the signedness of an object. But many programs have been written to use plain
char and expect it to be signed, or expect it to be unsigned, depending on the machines they were written
for. This option, and its inverse, lets you make such a program work with the opposite default.
The type char is always a distinct type from each of
signed char and unsigned char, even though its behavior is always just like one of those two.
</TD></TR><TR><TD>
_fsigned_char
</TD><TD>
Let the type char be signed, like
signed char.
Note that this is equivalent to
_fno_unsigned_char, which is the negative form of
_funsigned_char. Likewise, _fno_signed_char is equivalent to
_funsigned_char.
</TD></TR><TR><TD>
_fsigned_bitfields
</TD><TD>
These options control whether a bitfield is signed or unsigned, when declared with no explicit
</TD></TR><TR><TD>
_funsigned_bitfields
</TD><TD>
or unsigned qualifier.
</TD></TR><TR><TD>
_fno_signed_bitfields
</TD><TD>
By default, such a bitfield is signed, because this is consistent: The basic integer types such
as int
</TD></TR><TR><TD>
_fno_unsigned_bitfields
</TD><TD>
signed are signed types.
However, when you specify _traditional, bitfields are all unsigned no matter what.
</TD></TR><TR><TD>
_fwritable_strings
</TD><TD>
Store string constants in the writable data segment and don't uniquize them. This is
for compatibility with old programs which assume they can write into string constants.
_traditional also has this effect.
Writing into string constants is a very bad idea; constants should be constant.
</TD></TR></TABLE>
<P><B>
PREPORCESSOR OPTIONS
</B>
</P>
<P>These options control the C preprocessor, which is run on each C source file before actual compilation.
</P>
<P>If you use the _E option, gcc does nothing except preprocessing. Some of these options make sense only together with
_E because they cause the preprocessor output to be unsuitable for actual compilation.
</P>
<TABLE>
<TR><TD>
_include file
</TD><TD>
Process file as input before processing the regular input file. In effect, the contents of
file
are compiled first. Any _D and _U options on the command line are always processed before <BR>
_include file, regardless of the order in which they are written. All the
_include and _imacros options are processed in the order in which they are written.
</TD></TR><TR><TD>
_imacros file
</TD><TD>
Process file as input, discarding the resulting output, before processing the regular input
file. Because the output generated from file is discarded, the only effect of
_imacros file is to make the macros defined in
file available for use in the main input. The preprocessor evaluates any <BR>
_D and _U options on the command line before processing
_imacros file, regardless of the order in which they are written. All the
_include and _imacros options are processed in the order
in which they are written.
</TD></TR><TR><TD>
_idirafter dir
</TD><TD>
Add the directory dir to the second
include path. The directories on the second
include path are searched when a header file is not found in any of the directories in the main
include path (the one that _I adds to).
</TD></TR><TR><TD>
_iprefix prefix
</TD><TD>
Specify prefix as the prefix for subsequent
_iwithprefix options.
</TD></TR><TR><TD>
_iwithprefix dir
</TD><TD>
Add a directory to the second
include path. The directory's name is made by
concatenating prefix and dir, where prefix was specified previously with
_iprefix.
</TD></TR><TR><TD>
_nostdinc
</TD><TD>
Do not search the standard system directories for header files. Only the directories you
have specified with _I options (and the current directory, if appropriate) are searched.
By using both _nostdinc and _I_, you can limit the include file search file to only
those directories you specify explicitly.
</TD></TR><TR><TD>
_nostdinc++
</TD><TD>
Do not search for header files in the C++_specific standard directories, but do still search
the other standard directories. (This option is used when building
libg++.)
</TD></TR><TR><TD>
_undef
</TD><TD>
Do not predefine any nonstandard macros (including architecture flags).
</TD></TR><TR><TD>
_E
</TD><TD>
Run only the C preprocessor. Preprocess all the C source files specified and output the results
to standard output or to the specified output file.
</TD></TR><TR><TD>
_C
</TD><TD>
Tell the preprocessor not to discard comments. Used with the
_E option.
</TD></TR></TABLE>
<P><CENTER>
<a href="0176-0178.html">Previous</A> | <a href="../ewtoc.html">Table of Contents</A> | <a href="0181-0182.html">Next</A></CENTER></P>
</td>
</tr>
</table>
<!-- begin footer information -->
</body></html>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?