GCC 中文手册(下)

                                                                             GCC 中文手册(下)

-msvr4

-msvr3
打开 (`-msvr4') 或关闭 (`-msvr3') System V 第四版 (SVr4) 相关的 编译器扩展 . 效果如下 :
   *
输出哪种汇编语法 ( 你可以使用 `-mversion-03.00' 选项单独选择 ).
   *
`-msvr4' 使 C 预处理器识别 `#pragma weak' 指令
   *
`-msvr4' 使 GCC 输出额外的声明指令 (declaration directive), 用于 SVr4.

除了SVr4配置, `-msvr3'是所有m88K配置的默认选项.

-mtrap-large-shift
-mhandle-large-shift
包含一些指令 , 用于检测大于 31 位的位移 (bit-shift); 根据相应的选项 , 对这样的位移发出自陷 (trap) 或执行适当的处理代码 . 默认情况下 , GCC 对大位移不做特别处理 .

-muse-div-instruction
很早以前的 88K 型号没有 (div) 除法指令 , 因此默认情况下 GCC 避免产生这条指令 . 而这个选项告诉 GCC 该指令是 安全的 .

-mversion-03.00
DG/UX 配置中存在两种风格的 SVr4. 这个选项修改 -msvr4 , 选择 hybrid-COFF real-ELF 风格 . 其他配置均忽略该选项 .

-mwarn-passed-structs
如果某个函数把结构当做参数或结果传递 , GCC 发出警告 . 随着 C 语言的发展 , 人们已经改变了传递结构的约定 , 它往往导致移植问题 . 默认情况下 , GCC 不会发出警告 .

下面的选项用于IBM RS6000:

-mfp-in-toc

-mno-fp-in-toc
控制是否把浮点常量放到内容表 (TOC) , 内容表存放所有的全局变量和函数地址 . 默认情况下 , GCC 把浮点常量放到 这里 ; 如果 TOC 溢出 , `-mno-fp-in-toc' 选项能够减少 TOC 的大小 , 这样就可以避免溢出 .

下面的`-m'选项用于IBM RT PC:

-min-line-mul
对于整数乘法使用嵌入代码 . 这是默认选项 .
-mcall-lib-mul
对于整数乘法使用 lmul$$ .
-mfull-fp-blocks
生成全尺寸浮点数据块 , 包括 IBM 建议的最少数量的活动空间 (scratch space). 这是默认选项 .
-mminimum-fp-blocks
不要在浮点数据块中包括额外的活动空间 . 这样就产生较小但是略慢的可执行程序 , 因为活动空间必须动态分配 .
-mfp-arg-in-fpregs
采用不兼容 IBM 调用约定的调用序列 , 通过浮点寄存器传送浮点参数 . 注意 , 如果指定了这个选项 , varargs.h stdargs.h 将无法支持浮点单元 .

-mfp-arg-in-gregs
使用正常的调用约定处理浮点参数 . 这是默认选项 .

-mhc-struct-return
通过内存返回大于一个字的结构 , 而不是通过寄存器 . 用于兼容 MetaWare HighC (hc) 编译器 . 使用 `-fpcc-struct-return' 选项可以兼容 Portable C 编译器 (pcc).

-mnohc-struct-return
如果可以 , 通过寄存器返回某些大于一个字的结构 . 这是默认选项 . 如果打算兼容 IBM 提供的编译器 , 请使用 `-fpcc-struct-return' `-mhc-struct-return' 选项 .

下面的`-m'选项用于MIPS家族的计算机:

-mcpu=cpu-type
生成指令的时候 , 假设默认的机器类型是 cpu-type . 默认情况下的 cpu-type default, GCC 将选取任何机型上都是最长周期时间的指令 , 这样才能使代码在所有的 MIPS 处理器上以合理 的速度运行 . cpu-type 的其他选择是 r2000, r3000, r4000, r6000. 虽然选定某个 cpu-type , GCC 将针对选定的芯片安排对应的工作 , 但是如果 不指定 ?? -mips2 -mips3 选项 , 编译器不会输出任何不符合 MIPS ISA (instruction set architecture) 一级的代码 .

-mips2
输出 MIPS ISA 二级
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值