- Oracle® Solaris Studio 12.4:C++ 用户指南
- 文档信息
- 使用本文档
- 第 I 部分 C++ 编译器
- 第 II 部分 编写 C++ 程序
- 第 III 部分 库
- 第 IV 部分 附录
- 附录 A C++ 编译器选项
- A.1 选项信息的结构
- A.2 选项参考
- A.2.1 -#
- A.2.2 -###
- A.2.3 –Bbinding
- A.2.4 –c
- A.2.5 –cg{89|92}
- A.2.6 –compat={5|g}
- A.2.7 +d
- A.2.8 -Dname[=def]
- A.2.9 –d{y|n}
- A.2.10 –dalign
- A.2.11 –dryrun
- A.2.12 –E
- A.2.13 -erroff[=t]
- A.2.14 -errtags[=a]
- A.2.15 -errwarn[=t]
- A.2.16 –fast
- A.2.17 –features=a[,a...]
- A.2.18 -filt[=filter[,filter...]]
- A.2.19 –flags
- A.2.20 -fma[={none|fused}]
- A.2.21 –fnonstd
- A.2.22 –fns[={yes|no}]
- A.2.23 -fopenmp
- A.2.24 –fprecision=p
- A.2.25 –fround=r
- A.2.26 –fsimple[=n]
- A.2.27 –fstore
- A.2.28 -ftrap=t[,t...]
- A.2.29 –G
- A.2.30 -g
- A.2.31 –g[n]
- A.2.32 –H
- A.2.33 –h[ ]name
- A.2.34 –help
- A.2.35 -Ipathname
- A.2.36 -I-
- A.2.37 –i
- A.2.38 include filename
- A.2.39 -inline
- A.2.40 –instances=a
- A.2.41 –instlib=filename
- A.2.42 –KPIC
- A.2.43 –Kpic
- A.2.44 –keeptmp
- A.2.45 –Lpath
- A.2.46 –llib
- A.2.47 –libmieee
- A.2.48 –libmil
- A.2.49 -library=l[,l...]
- A.2.50 m32|m64
- A.2.51 -mc
- A.2.52 –misalign
- A.2.53 -mr[,string]
- A.2.54 -mt[={yes|no}]
- A.2.55 –native
- A.2.56 –noex
- A.2.57 –nofstore
- A.2.58 –nolib
- A.2.59 –nolibmil
- A.2.60 –norunpath
- A.2.61 –O
- A.2.62 –Olevel
- A.2.63 –o filename
- A.2.64 +p
- A.2.65 –P
- A.2.66 –p
- A.2.67 –pentium
- A.2.68 –pg
- A.2.69 -PIC
- A.2.70 –pic
- A.2.71 –preserve_argvalues[=simple|none]
- A.2.72 –pta
- A.2.73 –ptipath
- A.2.74 –pto
- A.2.75 –ptv
- A.2.76 –Qoption phase option[,option…]
- A.2.77 –qoption phase option
- A.2.78 –qp
- A.2.79 –Qproduce sourcetype
- A.2.80 –qproduce sourcetype
- A.2.81 –Rpathname[:pathname…]
- A.2.82 –S
- A.2.83 –s
- A.2.84 -staticlib=l[,l…]
- A.2.85 -std=v
- A.2.86 -sync_stdio=[yes|no]
- A.2.87 –temp=path
- A.2.88 –template=opt[,opt…]
- A.2.89 –time
- A.2.90 -traceback[={%none|common|signals_list}]
- A.2.91 –Uname
- A.2.92 –unroll=n
- A.2.93 –V
- A.2.94 –v
- A.2.95 –verbose=v[,v…]
- A.2.96 -Wc,arg
- A.2.97 +w
- A.2.98 +w2
- A.2.99 –w
- A.2.100 -Xlinker arg
- A.2.101 –Xm
- A.2.102 -xaddr32
- A.2.103 -xalias_level[=n]
- A.2.104 -xanalyze={code|%none}
- A.2.105 -xannotate[=yes|no]
- A.2.106 –xar
- A.2.107 –xarch=isa
- A.2.108 -xautopar
- A.2.109 -xbinopt={prepare|off}
- A.2.110 -xbuiltin[={%all|%default|%none}]
- A.2.111 –xcache=c
- A.2.112 -xchar[=o]
- A.2.113 -xcheck[=i[,i]]
- A.2.114 -xchip=c
- A.2.115 –xcode=a
- A.2.116 -xdebugformat=[stabs|dwarf]
- A.2.117 -xdebuginfo=a[,a...]
- A.2.118 -xdepend=[yes|no]
- A.2.119 -xdumpmacros[=value[,value...]]
- A.2.120 -xe
- A.2.121 xF[=v[,v...]]
- A.2.122 -xglobalize[={yes|no}]
- A.2.123 -xhelp=flags
- A.2.124 -xhwcprof
- A.2.125 -xia
- A.2.126 -xinline[=func-spec[,func-spec...]]
- A.2.127 xinline_param=a[,a[,a]...]
- A.2.128 xinline_report[=n]
- A.2.129 xinstrument=[no%]datarace
- A.2.130 -xipo[={0|1|2}]
- A.2.131 -xipo_archive=[a]
- A.2.132 -xipo_build=[yes|no]
- A.2.133 -xivdep[=p]
- A.2.134 -xjobs{=n|auto}
- A.2.135 -xkeep_unref[={[no%]funcs,[no%]vars}]
- A.2.136 -xkeepframe[=[%all,%none,name,no%name]]
- A.2.137 -xlang=language[,language]
- A.2.138 -xldscope={v}
- A.2.139 -xlibmieee
- A.2.140 -xlibmil
- A.2.141 –xlibmopt
- A.2.142 –xlic_lib=sunperf
- A.2.143 –xlicinfo
- A.2.144 -xlinkopt[=level]
- A.2.145 -xloopinfo
- A.2.146 –xM
- A.2.147 -xM1
- A.2.148 -xMD
- A.2.149 -xMF
- A.2.150 -xMMD
- A.2.151 –xMerge
- A.2.152 -xmaxopt[=v]
- A.2.153 -xmemalign=ab
- A.2.154 -xmodel=[a]
- A.2.155 –xnolib
- A.2.156 –xnolibmil
- A.2.157 –xnolibmopt
- A.2.158 xnorunpath
- A.2.159 -xOlevel
- A.2.160 -xopenmp[={parallel|noopt|none}]
- A.2.161 -xpagesize=n
- A.2.162 -xpagesize_heap=n
- A.2.163 -xpagesize_stack=n
- A.2.164 -xpatchpadding[={fix|patch|size}]
- A.2.165 -xpch=v
- A.2.166 -xpchstop=file
- A.2.167 -xpec[={yes|no}]
- A.2.168 –xpg
- A.2.169 -xport64[=(v)]
- A.2.170 -xprefetch[=a[,a...]]
- A.2.171 -xprefetch_auto_type=a
- A.2.172 -xprefetch_level[=i]
- A.2.173 -xprevise={yes|no}
- A.2.174 –xprofile=p
- A.2.175 -xprofile_ircache[=path]
- A.2.176 -xprofile_pathmap
- A.2.177 -xreduction
- A.2.178 –xregs=r[,r...]
- A.2.179 -xrestrict[=f]
- A.2.180 –xs[={yes|no}]
- A.2.181 –xsafe=mem
- A.2.182 -xsegment_align=n
- A.2.183 –xspace
- A.2.184 –xtarget=t
- A.2.185 -xtemp=path
- A.2.186 -xthreadvar[=o]
- A.2.187 -xthroughput[={yes|no}]
- A.2.188 –xtime
- A.2.189 -xtrigraphs[={yes|no}]
- A.2.190 -xunboundsym={yes|no}
- A.2.191 –xunroll=n
- A.2.192 -xustr={ascii_utf16_ushort|no}
- A.2.193 -xvector[=a]
- A.2.194 -xvis[={yes|no}]
- A.2.195 xvpara
- A.2.196 –xwe
- A.2.197 -Yc,path
- A.2.198 -z[ ]arg
- 附录 B Pragma
- 词汇表
- 索引
索引
数字和符号
- ! NOT 运算符, iostream
处理输入错误
处理输出错误
- —###, 编译器选项
-###
- —#, 编译器选项
-#
- $ 标识符, 允许作为非词首字符
-features 值
- -B绑定, 编译器选项
–Bbinding
生成具有异常的共享库
- -c, 编译器选项
–c
分别编译和链接
- -compat
- 编译器选项
–compat={5|g}
- -D, 编译器选项
-Dname[=def]
通用指南
- -d, 编译器选项
–d{y|n}
- -DDEBUG
通过 -instances=extern 实现模板实例自动一致
- -dryrun, 编译器选项
–dryrun
了解编译器的组织
- -E 编译器选项
–E
- -erroff 编译器选项
-erroff[=t]
- -errtags 编译器选项
-errtags[=a]
- -errwarn 编译器选项
-errwarn[=t]
- -fast, 编译器选项
–fast
- -features, 编译器选项
–features=a[,a...]
线程取消
禁用异常
语言扩展
- -filt, 编译器选项
-filt[=filter[,filter...]]
- -flags, 编译器选项
–flags
- -fnonstd, 编译器选项
–fnonstd
- -fns, 编译器选项
–fns[={yes|no}]
- -fopenmp, 编译器选项
-fopenmp
- -fprecision=p, 编译器选项
–fprecision=p
- -fround=r, 编译器选项
–fround=r
- -fsimple=n, 编译器选项
–fsimple[=n]
- -ftrap, 编译器选项
-ftrap=t[,t...]
- -g
-g- 编译模板
通过 -instances=extern 实现模板实例自动一致
- -G
- 动态库命令
生成动态(共享)库
- 选项描述
–G
- -g
- 选项描述
–g[n]
- -H, 编译器选项
–H
- -h, 编译器选项
–h[ ]name
- -help, 编译器选项
–help
- -I, 编译器选项
-I-
-Ipathname
定义搜索路径
- -i, 编译器选项
–i
- -include, 编译器选项
include filename
- -inline, 请参见 -xinline
-inline
- -instances=a, 编译器选项
–instances=a
模板实例的放置和链接
- -instlib, 编译器选项
–instlib=filename
- -keeptmp, 编译器选项
–keeptmp
- -Kpic, 编译器选项
–Kpic
生成动态(共享)库
- -KPIC, 编译器选项
–KPIC
生成动态(共享)库
- -l, 编译器选项
–llib
相关的库选项
C 库
通用指南
- -L, 编译器选项
–Lpath
相关的库选项
- -libmieee, 编译器选项
–libmieee
- -libmil, 编译器选项
–libmil
- -library, 编译器选项
-library=l[,l...]
静态链接标准库
链接 C++ 库
相关的库选项
- -lthread 编译器选项
- -xnolib 抑制
静态链接标准库
- 使用 -mt 代替
生成多线程程序
- -mc, 编译器选项
-mc
- -misalign, 编译器选项
–misalign
- -mr, 编译器选项
-mr[,string]
- -mt 编译器选项
- 选项描述
-mt[={yes|no}]
- 链接库
C 库
- -native, 编译器选项
–native
- -noex, 编译器选项
–noex
线程取消
- -nofstore, 编译器选项
–nofstore
- -nolib, 编译器选项
–nolib
相关的库选项
- -nolibmil, 编译器选项
–nolibmil
- -norunpath, 编译器选项
–norunpath
相关的库选项
- -O, 编译器选项
–O
- -o, 编译器选项
–o filename
- -Olevel, 编译器选项
–Olevel
- -P, 编译器选项
–P
- -pentium, 编译器选项
–pentium
- -pg, 编译器选项
–pg
- -PIC, 编译器选项
-PIC
- -pic, 编译器选项
–pic
- -preserve_argvalues
- 编译器选项
–preserve_argvalues[=simple|none]
- -pta, 编译器选项
–pta
- -pti, 编译器选项
–ptipath
定义搜索路径
- -pto, 编译器选项
–pto
- -ptv, 编译器选项
–ptv
- -Qoption, 编译器选项
–Qoption phase option[,option…]
- -qoption, 编译器选项
–qoption phase option
- -qp, 编译器选项
–qp
- -Qproduce, 编译器选项
–Qproduce sourcetype
- -qproduce, 编译器选项
–qproduce sourcetype
- -R, 编译器选项
–Rpathname[:pathname…]
相关的库选项
- -S, 编译器选项
–S
- -s, 编译器选项
–s
- -staticlib, 编译器选项
-staticlib=l[,l…]
静态链接标准库
相关的库选项
- -sync_stdio, 编译器选项
-sync_stdio=[yes|no]
- -temp=dir, 编译器选项
–temp=path
- -template, 编译器选项
–template=opt[,opt…]
模板定义搜索
整个类实例化
- -time, 编译器选项
–time
- -U, 编译器选项
–Uname
通用指南
- -unroll=n, 编译器选项
–unroll=n
- -v, 编译器选项
–v
了解编译器的组织
- -V, 编译器选项
–V
- -verbose, 编译器选项
–verbose=v[,v…]
详细编译
- -W 命令行选项
-Wc,arg
- -w, 编译器选项
–w
- -xaddr32 编译器选项
-xaddr32
- -xalias_level, 编译器选项
-xalias_level[=n]
- -xanalyze, 编译器选项
-xanalyze={code|%none}
- -xannotate, 编译器选项
-xannotate[=yes|no]
- -xar, 编译器选项
–xar
生成静态(归档)库
外部实例
- -xarch=isa, 编译器选项
–xarch=isa
- -xautopar, 编译器选项
-xautopar
- -xbinopt 编译器选项
-xbinopt={prepare|off}
- -xbinopt, 编译器选项
-xbinopt={prepare|off}
- -xbuiltin, 编译器选项
-xbuiltin[={%all|%default|%none}]
- -xcache=c, 编译器选项
–xcache=c
- -xcg, 编译器选项
–cg{89|92}
- -xchar, 编译器选项
-xchar[=o]
- -xcheck, 编译器选项
-xcheck[=i[,i]]
- -xchip=c, 编译器选项
-xchip=c
- -xcode=a, 编译器选项
–xcode=a
- -xdebugformat 编译器选项
-xdebugformat=[stabs|dwarf]
- -xdebuginfo
-xdebuginfo=a[,a...]
- -xdepend, 编译器选项
-xdepend=[yes|no]
- -xdumpmacros, 编译器选项
-xdumpmacros[=value[,value...]]
- -xe, 编译器选项
-xe
-xe
- -xF, 编译器选项
xF[=v[,v...]]
- -xglobalize
-xglobalize[={yes|no}]
- -xhelp=flags, 编译器选项
-xhelp=flags
- -xhreadvar, 编译器选项
-xthreadvar[=o]
- -xhwcprof 编译器选项
-xhwcprof
- -xia, 编译器选项
-xia
- -xinline, 编译器选项
-xinline[=func-spec[,func-spec...]]
- -xinline_param
xinline_param=a[,a[,a]...]
- -xinline_report
xinline_report[=n]
- -xipo, 编译器选项
-xipo[={0|1|2}]
- -xipo_archive 编译器选项
-xipo_archive=[a]
- -xipo_build 编译器选项
-xipo_build=[yes|no]
- -xivdep, 编译器选项
-xivdep[=p]
- -xjobs, 编译器选项
-xjobs{=n|auto}
- -xkeepframe, 编译器选项
-xkeepframe[=[%all,%none,name,no%name]]
- -xlang, 编译器选项
-xlang=language[,language]
- -xldscope, 编译器选项
-xldscope={v}
链接程序作用域
- -xlibmieee, 编译器选项
-xlibmieee
- -xlibmil, 编译器选项
-xlibmil
- -xlibmopt, 编译器选项
–xlibmopt
- -xlic_lib, 编译器选项
–xlic_lib=sunperf
- -xlicinfo, 编译器选项
–xlicinfo
- -Xlinker, 编译器选项
-Xlinker arg
- -xlinkopt, 编译器选项
-xlinkopt[=level]
- -xloopinfo, 编译器选项
-xloopinfo
- -xM1, 编译器选项
-xM1
- -Xm, 编译器选项
–Xm
- -xM, 编译器选项
–xM
- -xmaxopt 编译器选项
-xmaxopt[=v]
- -xmaxopt, 编译器选项
-xmaxopt[=v]
- -xMD, 编译器选项
-xMD
- -xmemalign, 编译器选项
-xmemalign=ab
- -xMerge, 编译器选项
–xMerge
- -xMF, 编译器选项
-xMF
- -xMMD, 编译器选项
-xMMD
- -xmodel, 编译器选项
-xmodel=[a]
- -xnolib, 编译器选项
–xnolib
静态链接标准库
相关的库选项
- -xnolibmil, 编译器选项
–xnolibmil
- -xnolibmopt, 编译器选项
–xnolibmopt
- -xOlevel, 编译器选项
-xOlevel
- -xopenmp, 编译器选项
-xopenmp[={parallel|noopt|none}]
- -xpagesize, 编译器选项
-xpagesize=n
- -xpagesize_heap, 编译器选项
-xpagesize_heap=n
- -xpagesize_stack, 编译器选项
-xpagesize_stack=n
- -xpec, 编译器选项
-xpec[={yes|no}]
- -xpg, 编译器选项
–xpg
- -xport64, 编译器选项
-xport64[=(v)]
- -xprefetch, 编译器选项
-xprefetch[=a[,a...]]
- -xprefetch_auto_type, 编译器选项
-xprefetch_auto_type=a
- -xprefetch_level, 编译器选项
-xprefetch_level[=i]
- -xprevise, 编译器选项
-xprevise={yes|no}
- -xprofile_ircache, 编译器选项
-xprofile_ircache[=path]
- -xprofile_pathmap, 编译器选项
-xprofile_pathmap
- -xpxpatchpadding, 编译器选项
-xpatchpadding[={fix|patch|size}]
- -xreduction, 编译器选项
-xreduction
- -xregs 编译器选项
–xregs=r[,r...]
- -xregs, 编译器选项
–xregs=r[,r...]
生成公用的库
- -xrestrict, 编译器选项
-xrestrict[=f]
- -xs,将调试信息从对象文件链接到可执行文件。
–xs[={yes|no}]
- -xsafe=mem, 编译器选项
–xsafe=mem
- -xsegment_align, 编译器选项
-xsegment_align=n
- -xspace, 编译器选项
–xspace
- -xtarget=t, 编译器选项
–xtarget=t
- -xtemp
-xtemp=path
- -xthroughput, 编译器选项
-xthroughput[={yes|no}]
- -xtime, 编译器选项
–xtime
- -xtrigraphs, 编译器选项
-xtrigraphs[={yes|no}]
- -xunboundsym, 编译器选项
-xunboundsym={yes|no}
- -xunroll=n, 编译器选项
–xunroll=n
- -xustr, 编译器选项
-xustr={ascii_utf16_ushort|no}
- -xvector, 编译器选项
-xvector[=a]
- -xvis, 编译器选项
-xvis[={yes|no}]
- -xvpara, 编译器选项
xvpara
- -xwe, 编译器选项
–xwe
- -z arg, 编译器选项
-z[ ]arg
- .a, 文件名后缀
了解库
C++ 编译器识别的文件名称后缀
- .c++, 文件名后缀
C++ 编译器识别的文件名称后缀
- .c, 文件名后缀
C++ 编译器识别的文件名称后缀
- .C, 文件名后缀
C++ 编译器识别的文件名称后缀
- .cpp, 文件名后缀
C++ 编译器识别的文件名称后缀
- .cxx, 文件名后缀
C++ 编译器识别的文件名称后缀
- .d 文件扩展名
-xMF
- .i, 文件名后缀
C++ 编译器识别的文件名称后缀
- .il, 文件名后缀
C++ 编译器识别的文件名称后缀
- .o 文件
- 保留
编译和链接序列
- 选项后缀
C++ 编译器识别的文件名称后缀
- .s, 文件名后缀
C++ 编译器识别的文件名称后缀
- .S, 文件名后缀
C++ 编译器识别的文件名称后缀
- .so. n, 文件名后缀
C++ 编译器识别的文件名称后缀
- .so, 文件名后缀
了解库
C++ 编译器识别的文件名称后缀
- .SUNWCCh 文件名后缀
标准头文件实现
- \>\> 提取运算符
- iostream
使用 iostream 进行输入
- __attribute__
支持的属性
- __cplusplus, 预定义宏
可适应语言的头文件
- __func__, 标识符
将预定义 __func__ 符号用于函数名
- __FUNCTION__, 标识符
将预定义 __func__ 符号用于函数名
- __global
链接程序作用域声明说明符
- __hidden
链接程序作用域声明说明符
- __STDC__, 预定义宏
可适应语言的头文件
- __symbolic
链接程序作用域声明说明符
- __thread
线程局部存储
- __VA_ARGS__ 标识符
具有可变数目的参数的宏