📄 00000011.htm
字号:
<HTML><HEAD> <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>CODE GENERATION OPTIONS <BR> These machine-independent options control the interface <BR> conventions used in code generation. <BR> <BR> Most of them begin with `-f'. These options have both <BR> positive and negative forms; the negative form of `-ffoo' <BR> would be `-fno-foo'. In the table below, only one of the <BR> forms is listed--the one which is not the default. You <BR> can figure out the other form by either removing `no-' or <BR> adding it. <BR> <BR> -fnonnull-objects <BR> Assume that objects reached through references are <BR> not null (C++ only). <BR> <BR> Normally, GNU C++ makes conservative assumptions <BR> about objects reached through references. For ex- <BR> ample, the compiler must check that a is not null <BR> in code like the following: <BR> <BR> obj &a = g (); a.f (2); <BR> <BR> Checking that references of this sort have non-null <BR> values requires extra code, however, and it is un- <BR> necessary for many programs. You can use <BR> `-fnonnull-objects' to omit the checks for null, if <BR> your program doesn't require checking. <BR> <BR> -fpcc-struct-return <BR> Use the same convention for returning struct and <BR> union values that is used by the usual C compiler <BR> on your system. This convention is less efficient <BR> for small structures, and on many machines it fails <BR> to be reentrant; but it has the advantage of allow- <BR> ing intercallability between GCC-compiled code and <BR> PCC-compiled code. <BR> <BR> -freg-struct-return <BR> Use the convention that struct and union values are <BR> returned in registers when possible. This is more <BR> efficient for small structures than <BR> -fpcc-struct-return. <BR> <BR> If you specify neither -fpcc-struct-return nor <BR> -freg-struct-return, GNU CC defaults to whichever <BR> convention is standard for the target. If there is <BR> no standard convention, GNU CC defaults to <BR> -fpcc-struct-return. <BR> <BR> -fshort-enums <BR> Allocate to an enum type only as many bytes as it <BR> needs for the declared range of possible values. <BR> Specifically, the enum type will be equivalent to <BR> the smallest integer type which has enough room. <BR> <BR> -fshort-double <BR> Use the same size for double as for float . <BR> <BR> -fshared-data <BR> Requests that the data and non-const variables of <BR> this compilation be shared data rather than private <BR> data. The distinction makes sense only on certain <BR> operating systems, where shared data is shared be- <BR> tween processes running the same program, while <BR> private data exists in one copy per process. <BR> <BR> -fno-common <BR> Allocate even uninitialized global variables in the <BR> bss section of the object file, rather than gener- <BR> ating them as common blocks. This has the effect <BR> that if the same variable is declared (without ex- <BR> tern) in two different compilations, you will get <BR> an error when you link them. The only reason this <BR> might be useful is if you wish to verify that the <BR> program will work on other systems which always <BR> work this way. <BR> <BR> -fno-ident <BR> Ignore the `#ident' directive. <BR> <BR> -fno-gnu-linker <BR> Do not output global initializations (such as C++ <BR> constructors and destructors) in the form used by <BR> the GNU linker (on systems where the GNU linker is <BR> the standard method of handling them). Use this <BR>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -