Oracle® Solaris Studio 12.4:Fortran 用户指南

退出打印视图

更新时间: 2014 年 12 月
 
 

3.3 选项摘要

在本节中,为了便于参考,将按功能对编译器选项进行分组。有关详细信息,请参见以下几节中相应页面上的内容。

请注意,并非所有选项在 SPARC 和 x64/x86 平台上都可用。有关可用性的说明,请查看详细的参考部分。

下表按功能汇总了 f95 编译器选项。该表不包括已过时的和传统的选项标志。某些标志用于多个目的,因此出现多次。

表 3-3  按功能分组的编译器选项
功能
选项标志
编译模式:
仅编译;不生成可执行文件
-c
显示由驱动程序生成的命令,但不进行编译
-dryrun
支持 Fortran 77 扩展和兼容性
-f77
不要替换其内容不是由相关 Fortran 模块的编译进行更改的模块文件
-keepmod
保留在编译期间所创建的临时文件。
-keeptmp
指定要将已编译的 .mod 模块文件写入的路径
-moddir=path
指定要编写的对象文件、库文件或可执行文件的名称
-o filename
进行编译并只生成汇编代码
-S
将符号表与可执行文件分离
-s
禁止编译器消息(错误消息除外)
-silent
定义临时文件所在目录的路径
-temp=path
显示每个编译阶段占用的时间
-time
显示编译器的版本号及其阶段
-V
详细消息
-v
指定非标准别名情况
-xalias=list
使用多个处理器进行编译
-xjobs=n
生成 make 依赖项
-xM
(Oracle Solaris) 将调试信息从对象文件链接到可执行文件
-xs
已编译的代码:
对于外部名称,增加/删除尾随下划线
-ext_names=x
内联指定的用户函数
-inline=list
与编译位置无关的代码
-KPIC/-kpic
内联某些数学库例程
-libmil
(x86) 在堆栈中保存基于寄存器的函数参数的副本
-preserve_argvalues
STOP 将整数状态值返回给 shell
-stop_status[=yn]
指定代码地址空间
-xcode=x
-inline 等效。
-xinline
手动更改编译器用来确定何时内联函数调用的试探式方法
-xinline_param
生成在编译器内联函数时写入标准输出的报告
-xinline_report
启用预取指令
-xprefetch[=x]
指定可选寄存器的使用
-xregs=x
指定缺省数据映射
-xtypemap=x
数据对齐:
指定对齐 COMMON 块中的数据
-aligncommon[=n]
强制对齐 COMMON 块数据以允许双字获取/存储
-dalign
强制所有数据按 8 字节边界对齐
-dbl_align_all
按 8 字节边界对齐 COMMON 块数据
-f
支持 little-endian 和 big-endian 平台之间的文件共享。
-xfilebyteorder
指定内存对齐和行为
-xmemalign[=ab]
调试:
启用运行时下标范围检查
-C
为使用 dbx 调试而进行编译
-g
标志未声明变量的使用
-u
检查 !$PRAGMA ASSUME 断言
-xassume_control=check
检查在运行时堆栈是否溢出
-xcheck=stkovf
启用运行时任务普通检查
-xcommonchk
控制发出多少调试和监测信息
-xdebuginfo
为性能分析器进行编译
-xF
控制文件静态变量的全局化,但是不控制函数的全局化
-xglobalize
保留未引用函数和变量的定义
-xkeep_unref
生成交叉引用列表
-Xlistx
在没有对象文件的情况下启用调试
-xs
诊断:
标志非标准扩展名的使用
-ansi
禁止显示指定的警告消息
-erroff=
与错误消息一起显示错误标记名称
-errtags
显示编译器选项的摘要
-flags, -help
显示编译器的版本号及其阶段
-V
详细消息
-v
详细的并行化消息
-vpara
显示/禁止警告消息
-wn
(Oracle Solaris) 将调试信息从对象文件链接到可执行文件
-xs
链接和库:
允许/要求动态/静态库
-Bx
只允许动态/静态库链接
-dy, -dn
生成动态(共享对象)库
-G
为动态库指定名称
-hname
将目录增加到库搜索路径
-Lpath
与库 libname.alibname.so 链接
-lname
不将库搜索路径生成到可执行文件中。
-norunpath
将运行时库搜索路径生成到可执行文件中
-Rpath
禁用递增链接程序 ild
-xildoff
与优化的数学库链接
-xlibmopt
与 Sun 性能库链接
-xlic_lib=sunperf
在各个函数启动之前保留内存区域
-xpatchpadding
指定程序是否包含对动态绑定符号的引用
-xunboundsym
链接编辑器选项
-zx
在不重定位的情况下生成纯库
-ztext
数字和浮点:
使用非标准浮点首选项
-fnonstd
选择非标准浮点
-fns
启用输入过程中的运行时浮点溢出
-fpover
选择 IEEE 浮点舍入模式
-fround=r
选择浮点优化级别
-fsimple=n
选择浮点捕获模式
-ftrap=t
指定用于格式化输入/输出的舍入方法
-iorounding=mode
将单精度常数提升为双精度常量
-r8const
启用区间运算并设置相应的浮点环境(包括 -xinterval
-xia[=e]
启用区间运算扩展
-xinterval[=e]
优化与性能:
分析循环以了解数据依赖性
-depend
使用所选的选项进行优化
-fast
指定程序不能一次在多个线程中执行 I/O。
-fserialio
指定优化级别
-On
填充数据布局以便高效使用高速缓存
-pad[=p]
在内存堆栈上分配局部变量
-stackvar
启用循环解开
-unroll[=m]
调用过程间优化传递
-xipo[=n]
可避免通过编译器进行的初始传递期间的优化而仅在链接时优化,从而缩短编译时间
-xipo_build
#pragma OPT 设置最高优化级别
-xmaxopt[=n]
针对编译后优化进行编译
-xbinopt=prepare
启用/调整编译器生成的预取指令
-xprefetch=list
控制预取指令的自动生成
-xprefetch_level=n
启用性能分析数据的生成或使用
-xprofile=p
断言不会出现基于内存的陷阱
-xsafe=mem
使驱动程序在链接行上包括特殊映射文件。
-xsegment_align
不执行增加代码大小的优化
-xspace
指定当多个进程同时在系统上运行时应用程序将会运行
-xthroughput
自动生成对向量库函数的调用
-xvector[=yn]
并行化:
启用 DO 循环的自动并行化
-autopar
-xopenmp=parallel 等效。
-fopenmp
显示循环的并行化信息
-loopinfo
为手动编码的多线程编程进行编译
-mt
接受 OpenMP API 指令。-xopenmp 选项标志接受以下子选项关键字:parallelnooptnone
-xopenmp[=keyword]
识别具有自动并行化的循环中的约简操作
-reduction
详细的并行化消息
-vpara
指定当多个进程同时在系统上运行时应用程序将会运行
-xthroughput
源代码:
定义预处理程序符号
-Dname[=val]
取消定义预处理程序符号
-Uname
接受扩展(132 个字符)源行
-e
将预处理程序应用于 .F 和/或 .F90.F95 文件,但不进行编译
-F
接受 Fortran 95 固定格式输入
-fixed
使用 fpp 预处理程序对所有源文件进行预处理
-fpp
接受 Fortran 95 自由格式输入
-free
将目录添加到 include 文件搜索路径
-Ipath
将目录添加到模块搜索路径
-Mpath
区分大小写
-U
在实际参数中将霍尔瑞斯常数视为字符
-xhasc={yes|no}
选择要使用的预处理程序(cppfpp
-xpp[={fpp|cpp}]
允许递归子程序调用
-xrecursive
目标平台:
指定内存模型(32 位或 64 位)。
-m32 | —m64
为优化器指定目标平台指令集
-xarch=a
为优化器指定目标高速缓存属性
-xcache=a
为优化器指定目标处理器
-xchip=a
为优化器指定目标平台
-xtarget=a