⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 0191-0192.html

📁 linux-unix130.linux.and.unix.ebooks130 linux and unix ebookslinuxLearning Linux - Collection of 12 E
💻 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="0189-0190.html">Previous</A> | <a href="../ewtoc.html">Table of Contents</A> | <a href="0193-0194.html">Next</A></CENTER></P>







<A NAME="PAGENUM-191"><P>Page 191</P></A>





<TABLE>



<TR><TD>

</TD><TD>

i386v, meaning to compile for an 80386 running System V, then you would specify

_b i386v to run that cross compiler.<BR>

 When you do not specify _b, it normally means to compile for the same type of machine

that you are using.

</TD></TR><TR><TD>

_V version

</TD><TD>

The argument version specifies which version of GNU CC to run. This is useful when

multiple versions are installed. For example,

version might be 2.0, meaning to run GNU CC

version 2.0.<BR>

The default version, when you do not specify

_V, is controlled by the way GNU CC is installed. Normally, it will be a version that is recommended for general use.

</TD></TR></TABLE>





<P><B>

MACHINE-DEPENDENT OPTIONS

</B>

</P>



<P>Each of the target machine types can have its own special options, starting with

_m, to choose among various hardware models or configurations&#151;for example, 68010 versus 68020, floating coprocessor or none. A single installed version of

the compiler can compile for any model or configuration, according to the options specified.

</P>

<P>Some configurations of the compiler also support additional special options, usually for command-line compatibility

with other compilers on the same platform.

</P>



<P>These are the _m options defined for the 68000 series:

</P>



<TABLE>



<TR><TD>

_m68000

</TD><TD>

Generate output for a 68000. This is the default when the compiler is configured for 68000-

</TD></TR><TR><TD>

_mc68000

</TD><TD>

based systems.

</TD></TR><TR><TD>

_m68020

</TD><TD>

Generate output for a 68020 (rather than a 68000). This is the default when the compiler is

</TD></TR><TR><TD>

_mc68020

</TD><TD>

configured for 68020-based systems.

</TD></TR><TR><TD>

_m68881

</TD><TD>

Generate output containing 68881 instructions for floating point. This is the default for

most 68020-based systems unless _nfp was specified when the compiler was configured.

</TD></TR><TR><TD>

_m68030

</TD><TD>

Generate output for a 68030. This is the default when the compiler is configured for

68030-based systems.

</TD></TR><TR><TD>

_m68040

</TD><TD>

Generate output for a 68040. This is the default when the compiler is configured for

68040-based systems.

</TD></TR><TR><TD>

_m68020_40

</TD><TD>

Generate output for a 68040, without using any of the new instructions. This results in

code which can run relatively efficiently on either a 68020/68881 or a 68030 or a 68040.

</TD></TR><TR><TD>

_mfpa

</TD><TD>

Generate output containing Sun FPA instructions for floating point.

</TD></TR><TR><TD>

_msoft_float

</TD><TD>

Generate output containing library calls for floating point.

</TD></TR>

</TABLE>

<CENTER>

<TABLE BGCOLOR="#FFFF99">

<TR><TD><B>

WARNING

</B></TD></TR>

<TR><TD>

<BLOCKQUOTE>

The requisite libraries are not part of GNU CC. Normally, the facilities of the machine's usual C compiler are used,

but this can't be done directly in cross-compilation. You must make your own arrangements to provide suitable library

functions for cross-compilation.

</BLOCKQUOTE></TD></TR>

</TABLE></CENTER>

<TABLE>

<TR><TD>

_mshort

</TD><TD>

Consider type int to be 16 bits wide, like short

int.

</TD></TR><TR><TD>

_mnobitfield

</TD><TD>

Do not use the bit-field instructions.

_m68000 implies _mnobitfield.

</TD></TR><TR><TD>

_mbitfield

</TD><TD>

Do use the bit-field instructions.

_m68020 implies _mbitfield. This is the default if you use

the unmodified sources.

</TD></TR><TR><TD>

_mrtd

</TD><TD>

Use a different function-calling convention, in which functions that take a fixed number

of arguments return with the rtd instruction, which pops their arguments while returning.

This saves one instruction in the caller since there is no need to pop the arguments there.

This calling convention is incompatible with the one normally used on UNIX, so you

cannot use it if you need to call libraries compiled with the UNIX compiler.

</TD></TR></TABLE>





<A NAME="PAGENUM-192"><P>Page 192</P></A>



<TABLE>



<TR><TD>

</TD><TD>

 Also, you must provide function prototypes for all functions that take variable numbers

of arguments (including printf ); otherwise, incorrect code will be generated for calls to

those functions.<BR>

 In addition, seriously incorrect code will result if you call a function with too many

arguments. (Normally, extra arguments are harmlessly ignored.)

 The rtd instruction is supported by the 68010 and 68020 processors, but not by the 68000.

</TD></TR></TABLE>



<P>

These _m options are defined for the VAX:</P>



<TABLE>



<TR><TD>

<P>_munix

</TD><TD>

Do not output certain jump instructions

(aobleq and so on) that the UNIX assembler for the VAX cannot handle across long ranges.

</TD></TR><TR><TD>

_mgnu

</TD><TD>

Do output those jump instructions, on the assumption that you will assemble with the

GNU assembler.

</TD></TR><TR><TD>

_mg

</TD><TD>

Output code for g-format floating-point numbers instead of d-format.

</TD></TR></TABLE>



<P>These _m switches are supported on the SPARC:</P>



<TABLE>



<TR><TD>

_mfpu

</TD><TD>

Generate output containing floating-point instructions. This is the default.

</TD></TR><TR><TD>

_mhard_float

</TD><TD>

</TD></TR><TR><TD>

_mno_fpu

</TD><TD>

 Generate output containing library calls for floating point.

</TD></TR><TR><TD>

_msoft_float

</TD></TR>

</TABLE>



<CENTER>

<TABLE BGCOLOR="#FFFF99">

<TR><TD><B>

WARNING

</B></TD></TR>

<TR><TD>

<BLOCKQUOTE>

There is no GNU floating-point library for SPARC. Normally, the facilities of the machine's usual C compiler are

used, but this cannot be done directly in cross-compilation. You must make your own arrangements to provide suitable

library functions for cross-compilation.

</BLOCKQUOTE></TD></TR>

</TABLE></CENTER>

<TABLE>

<TR><TD>

_msoft_float

</TD><TD>

Changes the calling convention in the output file; therefore, it is only useful if you compile

all of a program with this option.

</TD></TR><TR><TD>

_mno_epilogue

</TD><TD>

With _mepilogue (the default), the compiler always emits code for      function exit at the end of

</TD></TR><TR><TD>

_mepilogue

</TD><TD>

each function. Any function exit in the middle of the function (such as a return statement in

C) will generate a jump to the exit code at the end of the function. With

_mno_epilogue, the compiler tries to emit exit code inline at every function exit.

</TD></TR><TR><TD>

_mno_v8

</TD><TD>

These three options select variations on the SPARC architecture. By default (unless specifically

</TD></TR><TR><TD>

_mv8<BR>

msparclite

</TD><TD>

configured for the Fujitsu SPARClite),

gcc generates code for the v7 variant of the SPARC

architecture.<BR>

 _mv8 will give you SPARC v8 code. The only difference from v7 code is that the compiler

emits the integer multiply and integer divide instructions that exist in SPARC v8 but not in SPARC v7.<BR>

  _msparclite will give you SPARClite code. This adds the integer multiply, integer divide

step and scan (ffs) instructions that exist in SPARClite but not in SPARC v7.

</TD></TR><TR><TD>

_mcypress

</TD><TD>

These two options select the processor for which the code is optimized.

</TD></TR><TR><TD>

_msupersparc

</TD><TD>

With _mcypress (the default), the compiler optimizes code for the Cypress CY7C602 chip,

as used in the SparcStation and SparcServer 3xx series. This is also appropriate for the

older SparcStation 1, 2, IPX, and so on.<BR>

 With _msupersparc the compiler optimizes code for the SuperSparc

cpu, as used in the SparcStation 10, 1000, and 2000 series. This flag also enables use of the full SPARC

v8 instruction set.

</TD></TR></TABLE>



<P>These _m options are defined for the Convex:

</P>



<TABLE>



<TR><TD>

_mc1

</TD><TD>

Generate output for a C1. This is the default when the compiler is configured for a C1.

</TD></TR><TR><TD>

_mc2

</TD><TD>

Generate output for a C2. This is the default when the compiler is configured for a C2.

</TD></TR></TABLE>









<P><CENTER>

<a href="0189-0190.html">Previous</A> | <a href="../ewtoc.html">Table of Contents</A> | <a href="0193-0194.html">Next</A></CENTER></P>







</td>
</tr>
</table>

<!-- begin footer information -->







</body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -