GCC中文手册

    禁止输出某些跳转指令(aobleq等等), VAX的unix汇编器无法跨越长范围(long ranges) 进行处理.

-mgnu
    如果使用GNU汇编器,则输出那些跳转指令,

-mg
    输出g-format浮点数,取代d-format.

下面是SPARC支持的`-m'选项开关:

-mfpu

-mhard-float
    输出包含浮点指令的目标码.这是缺省选项. 
 


-mno-fpu

-msoft-float
    输出包含浮点库调用的目标码. 警告:没有为SPARC提供GNU浮点库.一般说来使用该机型本地C编译器 的相应部件,但是不能直接用于交叉编译.你必须自己安排,提供用于交叉编译的库函数.

    -msoft-float改变了输出文件中的调用约定;因此只有用这个选项编译整个程序才有意义.

-mno-epilogue

-mepilogue
    使用-mepilogue (缺省)选项时,编译器总是把函数的退出代码放在函数的尾部.任何在函数中间 的退出语句(例如C中的return语句)将产生出跳转指令指向函数尾部.

    使用-mno-epilogue选项时,编译器尽量在每个函数退出点嵌入退出代码.

-mno-v8

-mv8
-msparclite
    这三个选项选择不同种类的SPARC系统.

    默认情况下(除非特别为Fujitsu SPARClite配置), GCC生成SPARC v7目标码.

    -mv8生成SPARC v8目标码.他和v7目标码唯一的区别是,编译器生成整数乘法和整数除法指令, SPARC v8支持该指令,而v7体系不支持.

    -msparclite生成SPARClite目标码.增加了SPARClite支持的整数乘法,整数除法单步扫描 (integer divide step and scan (ffs))指令. v7体系不支持这些指令.

-mcypress

-msupersparc
    这两个选项选择处理器型号,针对处理器进行代码优化.

    -mcypress选项(默认项)使编译器对Cypress CY7C602芯片优化代码, SparcStation/SparcServer 3xx系列使用这种芯片.该选项也适用于老式的SparcStation 1, 2, IPX 等机型..

    -msupersparc选项使编译器对SuperSparc处理器优化代码, SparcStation 10, 1000 和2000系列使用这种芯片.同时该选项启用完整的SPARC v8指令集.

下面是针对Convex定义的`-m'选项:

-mc1
    输出C1的目标码.当编译器对C1配置时,这是默认选项.
-mc2
    输出C2的目标码.当编译器对C2配置时,这是默认选项.
-margcount
    在每个参数列表的前面放置一个参数计数字(argument count word).某些不可移植的Convex和Vax 程序需要这个参数计数字. (调试器不需要他,除非函数带有变长参数列表;这个信息存放在符号表中.)

-mnoargcount
    忽略参数计数字.如果你使用未改装的gcc,这是默认选项.

下面是针对AMD Am29000定义的`-m'选项:

-mdw
    生成的目标码认为DW置位,就是说,字节和半字操作由硬件直接支持.该选项是默认选项.
-mnodw
    生成的目标码认为DW没有置位.
-mbw
    生成的目标码认为系统支持字节和半字写操作.该选项是默认选项.
-mnbw
    生成的目标码认为系统不支持字节和半字写操作.该选项隐含开启了`-mnodw'选项.
-msmall
    使用小内存模式,小内存模式假设所有函数的地址位于某个256 KB段内,或者所有函数的绝对地址小于256K.这样 就可以用call指令代替const, consth, calli指令序列.
-mlarge
    假设不能使用call指令;这是默认选项.
-m29050
    输出Am29050的目标码.
-m29000
    输出Am29000的目标码.这是默认选项.
-mkernel-registers
    生成的目标码引用gr64-gr95寄存器而不是gr96-gr127寄存器.该选项可以用于编译 内核代码,内核需要一组全局寄存器,这些全局寄存器和用户模式使用的寄存器完全无关.

共9页 首页 上一页 [7] [8] [9下一页 尾页>
上一篇:
下一篇: UNIX命令大全
相关信息
相关评论
相关文章
字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z