📄 0186-0187.html
字号:
<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="0184-0185.html">Previous</A> | <a href="../ewtoc.html">Table of Contents</A> | <a href="0188-0188.html">Next</A></CENTER></P>
<A NAME="PAGENUM-186"><P>Page 186</P></A>
<TABLE>
<TR><TD>
</TD><TD>
that is, warn when there is a function with the same name as a virtual function in the base
class, but with a type signature that doesn't match any virtual functions from the base class.
</TD></TR><TR><TD>
_Winline
</TD><TD>
Warn if a function cannot be inlined, and either it was declared as inline, or else the
_finline_functions option was given.
</TD></TR><TR><TD>
_Werror
</TD><TD>
Treat warnings as errors; abort compilation after any warning.
</TD></TR></TABLE>
<P><B>
DEBUGGING OPTIONS
</B>
</P>
<P>GNU CC has various special options that are used for debugging either your program or
gcc:</P>
<TABLE>
<TR><TD>
_g
</TD><TD>
Produce debugging information in the operating system's native format (stabs, COFF,
XCOFF, or DWARF). GDB (the GNU debugger) can work with this debugging information.<BR>
On most systems that use stabs format, _g enables use of extra debugging information that only
GDB can use; this extra information makes debugging work better in GDB but will probably
make other debuggers crash or refuse to read the program. If you want to control for certain
whether to generate the extra information, use
_gstabs, _gstabs, _gxcoff+, _gxcoff, _gdwarf+, or
_gdwarf.<BR>
Unlike most other C compilers, GNU CC allows you to use
_g with _O. The shortcuts taken by optimized code may occasionally produce surprising results: Some variables you declared
may not exist at all; flow of control may briefly move where you did not expect it; some
statements may not be executed because they compute constant results or their values were already at
hand; some statements may execute in different places because they were moved out of loops.<BR>
Nevertheless, it proves possible to debug optimized output. This makes it reasonable to use
the optimizer for programs that might have bugs.
</TD></TR></TABLE>
<P>The following options are useful when GNU CC is generated with the capability for more than one debugging format.
</P>
<TABLE>
<TR><TD>
_ggdb
</TD><TD>
Produce debugging information in the native format (if that is supported), including
GDB extensions if at all possible.
</TD></TR><TR><TD>
_gstabs
</TD><TD>
Produce debugging information in
stabs format (if that is supported), without GDB
extensions. This is the format used by DBX on most BSD systems.
</TD></TR><TR><TD>
_gstabs+
</TD><TD>
Produce debugging information in stabs format (if that is supported), using GNU
extensions understood only by the GNU debugger (GDB). The use of these extensions is likely to
make other debuggers crash or refuse to read the program.
</TD></TR><TR><TD>
_gcoff
</TD><TD>
Produce debugging information in COFF format (if that is supported). This is the format
used by SDB on most System V systems prior to System V Release 4.
</TD></TR><TR><TD>
_gxcoff
</TD><TD>
Produce debugging information in XCOFF format (if that is supported). This is the
format used by the DBX debugger on IBM RS/6000 systems.
</TD></TR><TR><TD>
_gxcoff+
</TD><TD>
Produce debugging information in XCOFF format (if that is supported), using
GNU extensions understood only by the GNU debugger (GDB). The use of these extensions is
likely to make other debuggers crash or refuse to read the program.
</TD></TR><TR><TD>
_gdwarf
</TD><TD>
Produce debugging information in DWARF format (if that is supported). This is the
format used by SDB on most System V Release 4 systems.
</TD></TR><TR><TD>
_gdwarf+
</TD><TD>
Produce debugging information in DWARF format (if that is supported), using
GNU extensions understood only by the GNU debugger (GDB). The use of these extensions is
likely to make other debuggers crash or refuse to read the program.
<!-- CODE SNIP //-->
<PRE>
_glevel
_ggdblevel
_gstabslevel
_gcofflevel _gxcofflevel
</PRE>
<!-- END CODE SNIP //-->
</TD></TR><TR><TD>
_gdwarflevel
</TD><TD>
Request debugging information and also use
level to specify how much information. The default level is 2.<BR>
Level 1 produces minimal information, enough for making backtraces in parts of the
program that you don't plan to debug. This includes descriptions of functions and external variables,
but no information about local variables and no line numbers.
</TD></TR></TABLE>
<A NAME="PAGENUM-187"><P>Page 187</P></A>
<TABLE>
<TR><TD>
</TD><TD>
Level 3 includes extra information, such as all the macro definitions present in the
program. Some debuggers support macro expansion when you use
_g3.
</TD></TR><TR><TD>
_p
</TD><TD>
Generate extra code to write profile information suitable for the analysis program
prof.
</TD></TR><TR><TD>
_pg
</TD><TD>
Generate extra code to write profile information suitable for the analysis program
gprof.
</TD></TR><TR><TD>
_a
</TD><TD>
Generate extra code to write profile information for basic blocks, which will record the
number of times each basic block is executed. This data could be analyzed by a program like
tcov. Note, however, that the format of the data is not what
tcov expects. Eventually, GNU gprof should be extended to process this data.
</TD></TR><TR><TD>
_dletters
</TD><TD>
Says to make debugging dumps during compilation at times specified by
letters. This is used for debugging the compiler. The filenames for most of the dumps are made by appending
a word to the source filename (for example,
foo.c.rtl or foo.c.jump).
</TD></TR><TR><TD>
_dM
</TD><TD>
Dump all macro definitions at the end of preprocessing, and write no output.
</TD></TR><TR><TD>
_dN
</TD><TD>
Dump all macro names, at the end of preprocessing.
</TD></TR><TR><TD>
_dD
</TD><TD>
Dump all macro definitions at the end of preprocessing, in addition to normal output.
</TD></TR><TR><TD>
_dy
</TD><TD>
Dump debugging information during parsing, to standard error.
</TD></TR><TR><TD>
_dr
</TD><TD>
Dump after RTL generation, to file.rtl.
</TD></TR><TR><TD>
_dx
</TD><TD>
Just generate RTL for a function instead of compiling it. Usually used with
r.
</TD></TR><TR><TD>
_dj
</TD><TD>
Dump after first jump optimization, to file
.jump.
</TD></TR><TR><TD>
_ds
</TD><TD>
Dump after CSE (including the jump optimization that sometimes follows CSE), to
file .cse.
</TD></TR><TR><TD>
_dL
</TD><TD>
Dump after loop optimization, to file
.loop.
</TD></TR><TR><TD>
_dt
</TD><TD>
Dump after the second CSE pass (including the jump optimization that sometimes
follows CSE), to file .cse2.
</TD></TR><TR><TD>
_df
</TD><TD>
Dump after flow analysis, to file .flow.
</TD></TR><TR><TD>
_dc
</TD><TD>
Dump after instruction combination, to file
.combine.
</TD></TR><TR><TD>
_dS
</TD><TD>
Dump after the first instruction scheduling pass, to
file .sched.
</TD></TR><TR><TD>
_dl
</TD><TD>
Dump after local register allocation, to
file .lreg.
</TD></TR><TR><TD>
_dg
</TD><TD>
Dump after global register allocation, to
file .greg.
</TD></TR><TR><TD>
_dR
</TD><TD>
Dump after the second instruction scheduling pass, to
file .sched2.
</TD></TR><TR><TD>
_dJ
</TD><TD>
Dump after last jump optimization, to file
.jump2.
</TD></TR><TR><TD>
_dd
</TD><TD>
Dump after delayed branch scheduling, to
file .dbr.
</TD></TR><TR><TD>
_dk
</TD><TD>
Dump after conversion from registers to stack, to
file .stack.
</TD></TR><TR><TD>
_da
</TD><TD>
Produce all the dumps listed previously.
</TD></TR><TR><TD>
_dm
</TD><TD>
Print statistics on memory usage, at the end of the run, to standard error.
</TD></TR><TR><TD>
_dp
</TD><TD>
Annotate the assembler output with a comment indicating which pattern and alternative
was used.
</TD></TR><TR><TD>
_fpretend_float
</TD><TD>
When running a cross-compiler, pretend that the target machine uses the same
floating-point format as the host machine. This causes incorrect output of the actual floating constants,
but the actual instruction sequence will probably be the same as GNU CC would make
when running on the target machine.
</TD></TR><TR><TD>
_save_temps
</TD><TD>
Store the usual temporary intermediate files permanently; place them in the current
directory and name them based on the source file. Thus, compiling
foo.c with _c _save_temps would produce files
foo.cpp and foo.s, as well as foo.o.
</TD></TR><TR><TD>
_print_file_name=library
</TD><TD>
Print the full absolute name of the library file
library would be used when linking, and do not do anything else. With this option, GNU CC does not compile or link anything; it just
prints the filename.
</TD></TR><TR><TD>
_print_libgcc_file_name
</TD><TD>
Same as
_print_file_name=libgcc.a.
</TD></TR><TR><TD>
_print_prog_name=program
</TD><TD>
Like
_print_file_name, but searches for a program such as
cpp.
</TD></TR></TABLE>
<P><CENTER>
<a href="0184-0185.html">Previous</A> | <a href="../ewtoc.html">Table of Contents</A> | <a href="0188-0188.html">Next</A></CENTER></P>
</td>
</tr>
</table>
<!-- begin footer information -->
</body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -