- Oracle® Developer Studio 12.5:C 用户指南
- 文档信息
- 使用本文档
- 第 1 章 C 编译器介绍
- 第 2 章 C 编译器实现特定信息
- 第 3 章 支持原子类型
- 第 4 章 并行化 C 代码
- 第 5 章 lint 源代码检验器
- 第 6 章 基于类型的别名分析
- 6.1 介绍基于类型的分析
- 6.2 使用 Pragma 以便更好地控制
- 6.2.1 #pragma alias_level ()
- 6.2.1.1 #pragma alias (type, type [, type]…)
- 6.2.1.2 #pragma alias (pointer, pointer [, pointer]…)
- 6.2.1.3 #pragma may_point_to (pointer, variable [, variable]…)
- 6.2.1.4 #pragma noalias (type, type [, type]…)
- 6.2.1.5 #pragma noalias (pointer, pointer [, pointer]…)
- 6.2.1.6 #pragma may_not_point_to (pointer, variable [, variable]…)
- 6.2.1.7 #pragma ivdep
- 6.3 使用 lint 进行检查
- 6.4 内存引用约束的示例
- 第 7 章 转换为 ISO C
- 第 8 章 转换应用程序以适用于 64 位环境
- 第 9 章 cscope:交互检查 C 程序
- 附录 A 按功能分组的编译器选项
- 附录 B C 编译器选项参考
- B.1 选项语法
- B.2 cc 选项
- B.2.1 -#
- B.2.2 -###
- B.2.3 –A[()]
- B.2.4 -ansi
- B.2.5 -B[static|dynamic]
- B.2.6 -C
- B.2.7 -c
- B.2.8 -D[([,])][=]
- B.2.9 -d[y|n]
- B.2.10 -dalign
- B.2.11 -E
- B.2.12 -errfmt[=[no%]error]
- B.2.13 -errhdr[=h]
- B.2.14 -erroff[=]
- B.2.15 -errshort[=]
- B.2.16 -errtags[=]
- B.2.17 -errwarn[=]
- B.2.18 -fast
- B.2.19 -fd
- B.2.20 -features=[]
- B.2.21 -flags
- B.2.22 -flteval[={any|2}]
- B.2.23 –fma[={none|fused}]
- B.2.24 -fnonstd
- B.2.25 -fns[={no|yes}]
- B.2.26 -fopenmp
- B.2.27 -fPIC
- B.2.28 -fpic
- B.2.29 -fprecision=
- B.2.30 -fround=
- B.2.31 -fsimple[=]
- B.2.32 -fsingle
- B.2.33 -fstore
- B.2.34 -ftrap=[,...]
- B.2.35 -G
- B.2.36 -g
- B.2.37 -g[]
- B.2.38 -H
- B.2.39 -h
- B.2.40 -I[-|]
- B.2.41 -i
- B.2.42 –include
- B.2.43 -KPIC
- B.2.44 -Kpic
- B.2.45 -keeptmp
- B.2.46 -L
- B.2.47 -l
- B.2.48 -library=sunperf
- B.2.49 –m32|–m64
- B.2.50 -mc
- B.2.51 -misalign
- B.2.52 -misalign2
- B.2.53 -mr[,]
- B.2.54 -mt[={yes|no}]
- B.2.55 -native
- B.2.56 -nofstore
- B.2.57 -O
- B.2.58 -o
- B.2.59 -P
- B.2.60 -p
- B.2.61 –pedantic{=[yes|no]}
- B.2.62 –preserve_argvalues[=simple|none|complete]
- B.2.63 –Qoption []
- B.2.64 -Q[y|n]
- B.2.65 -qp
- B.2.66 -R[:]
- B.2.67 -S
- B.2.68 -s
- B.2.69 -staticlib=[no%]sunperf
- B.2.70 -std=
- B.2.71 –temp=
- B.2.72 -traceback[={%none|common|}]
- B.2.73 -U
- B.2.74 -V
- B.2.75 -v
- B.2.76 -W,
- B.2.77 -w
- B.2.78 -X[c|a|t|s]
- B.2.79 -x386
- B.2.80 -x486
- B.2.81 -Xlinker
- B.2.82 -xaddr32[=yes|no]
- B.2.83 -xalias_level[=]
- B.2.84 -xanalyze={code|%none}
- B.2.85 –xannotate[=yes|no]
- B.2.86 –xarch=
- B.2.87 -xatomic=
- B.2.88 -xautopar
- B.2.89 -xbinopt={prepare|off}
- B.2.90 -xbuiltin[=(%all|%default|%none)]
- B.2.91 -xCC
- B.2.92 -xc99[=]
- B.2.93 -xcache[=]
- B.2.94 –xcg[89|92]
- B.2.95 -xchar[=]
- B.2.96 -xchar_byte_order[=]
- B.2.97 -xcheck[=[,]]
- B.2.98 -xchip[=]
- B.2.99 -xcode[=]
- B.2.100 -xcrossfile
- B.2.101 -xcsi
- B.2.102 -xdebugformat=[stabs|dwarf]
- B.2.103 -xdebuginfo=[,...]
- B.2.104 -xdepend=[yes|no]
- B.2.105 -xdryrun
- B.2.106 -xdumpmacros[=[,]]
- B.2.107 -xe
- B.2.108 –xF[=[,...]]
- B.2.109 -xglobalize[={yes|no}]
- B.2.110 -xhelp=flags
- B.2.111 -xhwcprof
- B.2.112 -xinline=
- B.2.113 –xinline_param=[,[,]...]
- B.2.114 –xinline_report[=]
- B.2.115 –xinstrument=[no%]datarace
- B.2.116 -xipo[=]
- B.2.117 -xipo_archive=[]
- B.2.118 -xipo_build=[yes|no]
- B.2.119 -xivdep[=]
- B.2.120 -xjobs{=|auto}
- B.2.121 -xkeep_unref[={[no%]funcs,[no%]vars}]
- B.2.122 -xkeepframe[=[%all,%none,,no%]]
- B.2.123 -xlang=
- B.2.124 -xldscope={}
- B.2.125 -xlibmieee
- B.2.126 -xlibmil
- B.2.127 -xlibmopt
- B.2.128 -xlic_lib=sunperf
- B.2.129 -xlicinfo
- B.2.130 -xlinkopt[=]
- B.2.131 -xloopinfo
- B.2.132 -xM
- B.2.133 -xM1
- B.2.134 -xMD
- B.2.135 -xMF
- B.2.136 -xMMD
- B.2.137 -xMerge
- B.2.138 -xmaxopt[=]
- B.2.139 -xmemalign=
- B.2.140 -xmodel=[]
- B.2.141 -xnolib
- B.2.142 -xnolibmil
- B.2.143 -xnolibmopt
- B.2.144 –xnorunpath
- B.2.145 -xO[1|2|3|4|5]
- B.2.146 -xopenmp[={parallel|noopt|none}]
- B.2.147 -xP
- B.2.148 -xpagesize=
- B.2.149 -xpagesize_heap=
- B.2.150 -xpagesize_stack=
- B.2.151 -xpatchpadding[={fix|patch|}]
- B.2.152 -xpch=
- B.2.153 -xpchstop=[|<include>]
- B.2.154 –xpec[={yes|no}]
- B.2.155 -xpentium
- B.2.156 -xpg
- B.2.157 -xprefetch[=[,]]
- B.2.158 -xprefetch_auto_type=
- B.2.159 -xprefetch_level=
- B.2.160 -xprevise={yes|no}
- B.2.161 -xprofile=
- B.2.162 -xprofile_ircache[=]
- B.2.163 -xprofile_pathmap
- B.2.164 -xreduction
- B.2.165 -xregs=[,…]
- B.2.166 -xrestrict[=]
- B.2.167 –xs[={yes|no}]
- B.2.168 –xsafe=mem
- B.2.169 –xsecure_code_analysis{=[yes|no]}
- B.2.170 -xsegment_align=
- B.2.171 -xsfpconst
- B.2.172 -xspace
- B.2.173 -xstrconst
- B.2.174 -xtarget=
- B.2.175 -xtemp=
- B.2.176 -xthreadvar[=]
- B.2.177 -xthroughput[={yes|no}]
- B.2.178 -xtime
- B.2.179 -xtransition
- B.2.180 -xtrigraphs[={yes|no}]
- B.2.181 -xunboundsym={yes|no}
- B.2.182 -xunroll=
- B.2.183 -xustr={ascii_utf16_ushort|no}
- B.2.184 -xvector[=]
- B.2.185 -xvis
- B.2.186 -xvpara
- B.2.187 -Y,
- B.2.188 -YA,
- B.2.189 -YI,
- B.2.190 -YP,
- B.2.191 -YS,
- B.3 传递给链接程序的选项
- B.4 用户提供的缺省选项文件
- 附录 C C11 的功能
- 附录 D C99 的功能
- 附录 E 实现定义的 ISO/IEC C99 行为
- 附录 F 实现定义的 ISO/IEC C90 行为
- 附录 G ISO C 数据表示法
- 附录 H 性能优化
- 附录 I Oracle Developer Studio C:K&R C 和 ISO C 之间的差异
- 索引
第 3 章
支持原子类型
本章讨论了原子 C 类型的大小和对齐。