- 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 之间的差异
- 索引
索引
数字和符号
- -###
-###
-###
- -#
-#
-#
- -a
-a
- -A
Aname[(tokens)]
- -Aname 的预断言
Aname[(tokens)]
- -ansi
-ansi
- -b
-b
- -B
-B[static|dynamic]
- -C
-C filename
- -c
-c
-c
- -C
-C
- -d
-d[y|n]
- -dirout
-dirout=dir
- -E
-E
- -err
-err=warn
- -errchk
-errchk=l(, l)
- -errfmt
-errfmt[=[no%]error]
-errfmt=f
- -errhdr
-errhdr=h
- -erroff
-erroff[=t]
-erroff=tag(, tag)
- -errsecurity
-errsecurity=level
- -errshort
-errshort[=i]
- -errtags
-errtags[=a]
-errtags=a
- -errwarn
-errwarn[=t]
-errwarn=t
- -F
-F
- -fast
-fast
- -fd
-fd
-fd
- -features
-features=[v]
- -flags
-flags
- -flagsrc
-flagsrc=file
- -flteval
-flteval[={any|2}]
- -fns
-fns[={no|yes}]
- -fopenmp
-fopenmp
- -fprecision
-fprecision=p
- -fround
-fround=r
- -fsimple
-fsimple[=n]
- -fsingle
-fsingle
- -fstore
-fstore
- -ftrap
-ftrap=t[,t...]
- -G
-G
- -g
-g
- -gn
-g[n]
- -h
-h name
-h
- -H
-H
- -I
-I[-|dir]
-Idir
- -i
-i
- -include
include filename
- -k
-k
- -keeptmp
-keeptmp
- -L
-Ldir
-Ldir
- -l
-lname
-lx
- -library=sunperf
-library=sunperf
- -m
-m
- -mc
-mc
- -mr
-mr[,string]
- -n
-n
- -native
-native
- -Ncheck
-Ncheck=c
- -Nlevel
-Nlevel=n
- -nofstore
-nofstore
- -o
-o filename
-ox
- -O
-O
- -p
-p
- -P
-P
- -pedantic
–pedantic{=[yes|no]}
- -preserve_argvalues
–preserve_argvalues[=simple|none|complete]
- -Q
-Q[y|n]
- -qp
-qp
- -R
-Rdir[:dir]
-Rfile
- -s
-s
-s
- -S
-S
- -tempdir, 编译器选项
–temp=path
- -u
-u
- -U
-Uname
- -V
-V
-V
- -v
-v
-v
- -W
-Wc,arg
-Wfile
- -w
-w
- -x
-x
- -X
-X[c|a|t|s]
- -Xalias_level
-Xalias_level[=l]
- -xalias_level
-xalias_level[=l]
- -xanalyze, 编译器选项
-xanalyze={code|%none}
- -xarch=isa, 编译器选项
–xarch=isa
- -xautopar
-xautopar
- -xbinopt
-xbinopt={prepare|off}
- -xbinopt 和
-xbinopt={prepare|off}
- -xbuiltin
-xbuiltin[=(%all|%default|%none)]
- -Xc99
-Xc99[=o]
- -xc99
-xc99[=o]
- -XCC
-XCC=a
- -xCC
-xCC
- -xchar
-xchar[=o]
- -xchar_byte_order
-xchar_byte_order[=o]
- -xcheck
-xcheck[=o[,o]]
- -xchip
-xchip[=c]
- -xcode
-xcode[=v]
- -xcsi
-xcsi
- -xdebugformat
-xdebugformat=[stabs|dwarf]
- -xdebuginfo
-xdebuginfo=a[,a...]
- -xdepend
-xdepend=[yes|no]
- -xdryrun
-xdryrun
- -xe
-xe
- -xF
xF[=v[,v...]]
- -xglobalize
-xglobalize[={yes|no}]
- -xhelp
-xhelp=flags
- -xhwcprof
-xhwcprof
- -xinline
-xinline=list
- -xinline_param
xinline_param=a[,a[,a]...]
- -xinline_report
xinline_report[=n]
- -xipo
-xipo[=a]
- -xipo_archive
-xipo_archive=[a]
- -xipo_build
-xipo_build=[yes|no]
- -xivdep, 编译器选项
-xivdep[=p]
- -xjobs
-xjobs{=n|auto}
- -Xkeeptmp
-Xkeeptmp=a
- -xlang
-xlang=language
- -xldscope
-xldscope={v}
- -xlibmieee
-xlibmieee
- -xlibmil
-xlibmil
- -xlibmopt
-xlibmopt
- -Xlinker, 编译器选项
-Xlinker arg
- -xlinkopt
-xlinkopt[=level]
- -xloopinfo
-xloopinfo
- -xM1
-xM1
- -xM
-xM
- -xmaxopt
-xmaxopt[=v]
- -xmemalign
-xmemalign=ab
- -xMerge
-xMerge
- -xMF
-xMF filename
- -xMMD
-xMMD
- -xmodel
-xmodel=[a]
- -xnolib
-xnolib
- -xnolibmil
-xnolibmil
- -xnolibmopt
-xnolibmopt
- -xO
-xO[1|2|3|4|5]
- -xopenmp
-xopenmp[={parallel|noopt|none}]
- -xP
-xP
- -xpagesize
-xpagesize=n
- -xpagesize_heap
-xpagesize_heap=n
- -xpagesize_stack
-xpagesize_stack=n
- -xpch
-xpch=v
- -xpchstop
-xpchstop=[file|<include>]
- -xpec
xpec[={yes|no}]
- -xpentium
-xpentium
- -xpg
-xpg
- -xprefetch
-xprefetch[=val[,val]]
- -xprefetch_auto_type
-xprefetch_auto_type=a
- -xprefetch_level
-xprefetch_level=l
- -xprofile
-xprofile=p
- -xprofile_ircache
-xprofile_ircache[=path]
- -xprofile_pathmap
-xprofile_pathmap
- -xpxpatchpadding, 编译器选项
-xpatchpadding[={fix|patch|size}]
- -xreduction
-xreduction
- -xregs
-xregs=r[,r…]
- -xrestrict
-xrestrict[=f]
- -xs
–xs[={yes|no}]
- -xsafe
–xsecure_code_analysis{=[yes|no]}
–xsafe=mem
- -xsfpconst
-xsfpconst
- -xspace
-xspace
- -xstrconst
-xstrconst
- -xtarget
-xtarget=t
- -Xtemp
-Xtemp=dir
- -xtemp
-xtemp=path
- -xthreadvar
-xthreadvar[=o]
- -xthreadvar, 编译器选项
-xthreadvar[=o]
- -xthroughput
-xthroughput[={yes|no}]
- -Xtime
-Xtime=a
- -xtime
-xtime
- -Xtransition
-Xtransition=a
- -xtransition
-xtransition
- -xtrigraphs
-xtrigraphs[={yes|no}]
- -xunboundsym
-xunboundsym={yes|no}
- -xunroll
-xunroll=n
- -Xustr
-Xustr={ascii_utf16_ushort|no}
- -xustr
-xustr={ascii_utf16_ushort|no}
- -xvector
-xvector[=a]
- -xvis
-xvis
- -xvpara
-xvpara
- -y
-y
- -Y
-Yc, dir
- -YA
-YA, dir
- -YI
-YI, dir
- -YP
-YP, dir
- -YS
-YS, dir
- // 注释指示符
- 和 -xCC
-xCC
- 在 C99 中
使用 // 注释代码
- /tmp
TMPDIR
- __alignof 关键字
__alignof__
- __asm 关键字
__asm 关键字
__asm 关键字
- __DATE__
(6.8.8) 当转换的日期和时间不可用时,__DATE__ 和 __TIME__ 各自的定义:
(6.8.8) 当转换的日期和时间不可用时,__DATE__ 和 __TIME__ 各自的定义:
预处理指令 (J.3.11)
- __func__
__func__ 支持
- __global
声明说明符
- __hidden
声明说明符
- __symbolic
声明说明符
- __thread
线程局部存储说明符
- __TIME__
(6.8.8) 当转换的日期和时间不可用时,__DATE__ 和 __TIME__ 各自的定义:
(6.8.8) 当转换的日期和时间不可用时,__DATE__ 和 __TIME__ 各自的定义:
预处理指令 (J.3.11)
- _Alignas 说明符
_Alignas 说明符
- _Alignof 运算符
_Alignof 运算符
- _Atomic 类型
- 大小和对齐
原子 C 类型的大小和对齐
- _Exit 函数
库函数 (J.3.12)
- _Noreturn
_Noreturn
- _Pragma
_Pragma
- _Restrict
_Restrict 关键字
- _Static_assert
_Static_assert
A
- #assert
Aname[(tokens)]
断言
- abort 函数
库函数 (J.3.12)
- acomp(C 编译器)
C 编译系统的组件
- any 级别别名歧义消除
别名歧义消除级别
- ascftime 函数
-errsecurity 标志
- ATS:自动调优系统
xpec[={yes|no}]
B
- basic 级别别名歧义消除
别名歧义消除级别
- binopt
xannotate[=yes|no]
C
- C 编程工具
与 C 相关的编程工具
- C 编译器
- 传递给链接程序的选项
传递给链接程序的选项
- 更改用来搜索库的缺省目录
选项语法
- 组件
C 编译系统的组织结构
- 编译模式和依赖性
Oracle Solaris 上的预定义标识符 __STDC__
- 编译程序
选项语法
选项语法
- C99
- // 注释指示符
使用 // 注释代码
- __func__ 支持
__func__ 支持
- _Pragma
_Pragma
- FLT_EVAL_METHOD
浮点计算器的精度
- for 循环中的类型声明
for 循环语句中的声明
- inline 函数说明符
inline 函数
- Oracle Developer Studio 编译器实现
实现定义的行为 (J.3)
- 关键字列表
C99 关键字
- 可变长度数组
可变长度数组 (VLA):
- 幂等限定符
幂等限定符
- 数组声明符
Static 及数组声明符中允许的其他类型限定符
- 混合声明和代码
混合声明和代码
- 灵活的数组成员
灵活的数组成员
- 类型说明符要求
使用隐式 int 的声明
- 隐式函数声明
禁止隐式 int 和隐式函数声明
- C99 中的可变长度数组
可变长度数组 (VLA):
- C99 中的幂等限定符
幂等限定符
- calloc 函数
库函数 (J.3.12)
- case 语句
语句 (G.3.12)
- cc command-line options
- -fprecision
-fprecision=p
- cc 命令行选项
cc 选项- -###
-###
- -#
-#
- -A
Aname[(tokens)]
- -ansi
-ansi
- -B
-B[static|dynamic]
- -C
-C
- -c
-c
- -d
-G
-d[y|n]
- 与 -G 交互
-G
- -E
-E
- -errfmt
-errfmt[=[no%]error]
- -erroff
-erroff[=t]
- -errshort
-errshort[=i]
- -errtags
-errtags[=a]
- -errwarn
-errwarn[=t]
- -fast
-fast
- -fd
-fd
- -features
-features=[v]
- -flags
-flags
- -flteval
-flteval[={any|2}]- 与 FLT_EVAL_METHOD 的交互
FLT_EVAL_METHOD 值
- -fma
- 作为 -fast 扩展的一部分
-fast 扩展选项标志
- -fns
-fns[={no|yes}]- 作为 -fast 扩展的一部分
-fast 扩展选项标志
- -fopenmp
-fopenmp
- -fprecision
- 与 FLT_EVAL_METHOD 的交互
FLT_EVAL_METHOD 值
- -fround
-fround=r- 与 -xlibmopt 的交互
-xlibmopt
- -fsimple
-fsimple[=n]- 作为 -fast 扩展的一部分
-fast 扩展选项标志
- -fsingle
-fsingle- 与 FLT_EVAL_METHOD 的交互
FLT_EVAL_METHOD 值
- 作为 -fast 扩展的一部分
-fast 扩展选项标志
- -fstore
-fstore
- -ftrap
-ftrap=t[,t...]
- -G
-G
- -g
-g
- -gn
-g[n]
- -H
-H
- -h
-h name
- -I
-I[-|dir]
- -i
-i
- -include
include filename
- -keeptmp
-keeptmp
- -KPIC
-KPIC
- -Kpic
-Kpic
- -L
-Ldir
- -l
-lname
- -library=sunperf
-library=sunperf
- -mc
-mc
- -mr
-mr[,string]
- -mt
-mt[={yes|no}]
- -native
-native
- -nofstore
-nofstore- 作为 -fast 扩展的一部分
-fast 扩展选项标志
- -O
-O
- -o
-o filename
- -P
-P
- -pedantic
–pedantic{=[yes|no]}
- -preserve_argvalues
–preserve_argvalues[=simple|none|complete]
- -Q
-Q[y|n]
- -Qoption
–Qoption phase option[,option..]
- -qp
-qp
- -R
-Rdir[:dir]
- -S
-S
- -s
-s
- -std
-std=value
- -temp
–temp=path
- -traceback
-traceback[={%none|common|signals_list}]
- -U
-Uname
- -V
-V
- -v
-v
- -W
-Wc,arg
- -w
-w
- -X
-X[c|a|t|s]- 与 FLT_EVAL_METHOD 的交互
FLT_EVAL_METHOD 值
- -xaddr32
-xaddr32[=yes|no]
- -xalias_level
-xalias_level[=l]- 作为 -fast 扩展的一部分
-fast 扩展选项标志
- 示例
示例:使用 Pragma
内存引用约束的示例
- 说明
介绍基于类型的分析
- -xannotate
xannotate[=yes|no]
- -xarch
- 与 FLT_EVAL_METHOD 的交互
FLT_EVAL_METHOD 值
- -xatomic
-xatomic=a
- -xautopar
-xautopar
- -xbinopt
-xbinopt={prepare|off}
- -xbuiltin
-xbuiltin[=(%all|%default|%none)]- 作为 -fast 扩展的一部分
-fast 扩展选项标志
- -xc99
-xc99[=o]
- -xCC
-xCC
- -xchar
-xchar[=o]
- -xchar_byte_order
-xchar_byte_order[=o]
- -xcheck
-xcheck[=o[,o]]
- -xchip
-xchip[=c]
- -xcode
-xcode[=v]
- -xcsi
-xcsi
- -xdebugformat
-xdebugformat=[stabs|dwarf]
- -xdebuginfo
-xdebuginfo=a[,a...]
- -xdepend
-xdepend=[yes|no]
- -xdryrun
-xdryrun
- -xdumpmacros
-xdumpmacros[=value[,value...]]
- -xe
-xe
- -xF
xF[=v[,v...]]
- -xglobalize
-xglobalize[={yes|no}]
- -xhelp
-xhelp=flags
- -xhwcprof
-xhwcprof
- -xinline
-xinline=list
- -xinline_param
xinline_param=a[,a[,a]...]
- -xinline_report
xinline_report[=n]
- -xipo
-xipo[=a]
- -xipo_archive
-xipo_archive=[a]
- -xipo_build
-xipo_build=[yes|no]
- -xjobs
-xjobs{=n|auto}
- -xkeepframe
-xkeepframe[=[%all,%none,name,no%name]]
- -xlang
-xlang=language
- -xldscope
-xldscope={v}
链接程序作用域说明符
- -xlibmieee
-xlibmieee
- -xlibmil
-xlibmil- 作为 -fast 扩展的一部分
-fast 扩展选项标志
- -xlibmopt
-xlibmopt- 作为 -fast 扩展的一部分
-fast 扩展选项标志
- -xlinkopt
-xlinkopt[=level]- 与 -G 的交互
-xlinkopt[=level]
- -xloopinfo
-xloopinfo
- -xM1
-xM1
- -xM
-xM
- -xmaxopt
-xmaxopt[=v]- 与 -xO 的交互
-xmaxopt[=v]
- -xMD
-xMD
- -xmemalign
-xmemalign=ab- 作为 -fast 扩展的一部分
-fast 扩展选项标志
- -xMerge
-xMerge
- -xMF
-xMF filename
- -xMMD
-xMMD
- -xmodel
-xmodel=[a]
- -xnolib
-xnolib
- -xnolibmil
-xnolibmil
- -xnolibmopt
-xnolibmopt- 与 -xlibmopt 的交互
-xlibmopt
- -xO
-xO[1|2|3|4|5]- 与 -xmaxopt 的交互
-xO[1|2|3|4|5]
- -xopenmp
-xopenmp[={parallel|noopt|none}]
- -xP
-xP
- -xpagesize
-xpagesize=n
- -xpagesize_heap
-xpagesize_heap=n
- -xpagesize_stack
-xpagesize_stack=n
- -xpch
-xpch=v
- -xpchstop
-xpchstop=[file|<include>]
- -xpec
xpec[={yes|no}]
- -xpentium
-xpentium
- -xpg
-xpg
- -xprefetch
-xprefetch[=val[,val]]
- -xprefetch_auto_type
-xprefetch_auto_type=a
- -xprefetch_level
-xprefetch_level=l
- -xprevise
-xprevise={yes|no}
- -xprofile
-xprofile=p
- -xprofile_ircache
-xprofile_ircache[=path]
- -xprofile_pathmap
-xprofile_pathmap
- -xreduction
-xreduction
- -xregs
-xregs=r[,r…]
- -xrestrict
-xrestrict[=f]
- -xs
–xs[={yes|no}]
- -xsafe
–xsafe=mem
- -xsecure_code_analysis
–xsecure_code_analysis{=[yes|no]}
- -xsegment_align
-xsegment_align=n
- -xsfpconst
-xsfpconst
- -xspace
-xspace
- -xstrconst
-xstrconst
- -xtarget
-xtarget=t
- -xtemp
-xtemp=path
- -xthroughput
-xthroughput[={yes|no}]
- -xtime
-xtime
- -xtransition
-xtransition- 对三字符发出警告
三字符序列
- -xtrigraphs
-xtrigraphs[={yes|no}]
- -xunboundsym
-xunboundsym={yes|no}
- -xunroll
-xunroll=n
- -xustr
-xustr={ascii_utf16_ushort|no}
- -xvector
-xvector[=a]
- -xvis
-xvis
- -xvpara
-xvpara
- -Y
-Yc, dir
- -YA
-YA, dir
- -YI
-YI, dir
- -YP
-YP, dir
选项语法
- -YS
-YS, dir
- cftime 函数
-errsecurity 标志
- cg(代码生成器)
C 编译系统的组件
- char
- 符号
-xchar[=o]
- clock 函数
(7.12.2.1) The era for the clock function(clock 函数的年代)
库函数 (J.3.12)
- const
单次编译兼容性
- const
const 和 volatile
- cpp(C 预处理程序)
C 编译系统的组件
- creat 函数
-errsecurity 标志
- cscope
编辑器的命令行语法
cscope:交互检查 C 程序
cscope:交互检查 C 程序
- 命令行使用
命令行选项
命令行选项
步骤 2:调用 cscope 程序
步骤 2:调用 cscope 程序
- 搜索源文件
初次搜索之后可使用的命令
步骤 3:查找代码
步骤 1:设置环境
cscope 进程
cscope 进程
- 环境变量
查看路径
查看路径
- 环境设置
编辑器的命令行语法
步骤 1:设置环境
步骤 1:设置环境
- 用法示例
更改变量的值
示例
步骤 4:编辑代码
基本用法
- 编辑源文件
编辑器的命令行语法
编辑器的命令行语法
步骤 4:编辑代码
步骤 4:编辑代码
步骤 1:设置环境
步骤 1:设置环境
- cscope 使用的 TERM 环境变量
步骤 1:设置环境
- 重命名共享库
-h name
D
- #define
-Dname[(arg[,arg])][=expansion]
- dbx 工具
- 将调试信息从对象文件链接到可执行文件
–xs[={yes|no}]
- 符号表信息
-g[n]
-g
- dwarf 调试器数据格式
-xdebugformat=[stabs|dwarf]
E
- #error
警告和错误
- EDITOR
编辑器的命令行语法
步骤 1:设置环境
- elfdump
-xcode 标志
- er_src 实用程序
-xbuiltin[=(%all|%default|%none)]
- ERANGE
(7.5.1) Whether the mathematics functions set the integer expression errno to the value of the macro ERANGE on underflow range errors(在出现下溢范围错误时,数学函数是否将整数表达式 errno 设置为宏 ERANGE 的值):
- ERANGE 宏
库函数 (J.3.12)
- errno
- -fast 的影响
-fast
-fast
- -xbuiltin 的影响
-xbuiltin[=(%all|%default|%none)]
- -xlibmieee 的影响
-xlibmieee
- -xlibmil 的影响
-xlibmil
- -xlibmopt 的影响
-xlibmopt
- C98 实现
(7.5.1) Whether the mathematics functions set the integer expression errno to the value of the macro ERANGE on underflow range errors(在出现下溢范围错误时,数学函数是否将整数表达式 errno 设置为宏 ERANGE 的值):
- 保留值
保留 errno 的值
- 初始化函数的影响
init
- 头文件
可安全使用的名称
保留供扩展使用的名称
- 完成函数的影响
fini
- errno
- 在下溢时将值设置为 ERANGE
库函数 (J.3.12)
库函数 (J.3.12)
库函数 (J.3.12)
- exec 函数
-errsecurity 标志
F
- fbe(汇编程序)
C 编译系统的组件
- fclose 函数
库函数 (J.3.12)
- fegetexceptflag 函数
库函数 (J.3.12)
- feraiseexcept 函数
库函数 (J.3.12)
- fgetc 函数
-errsecurity 标志
- fgetpos 函数
库函数 (J.3.12)
- float.h
- 在 C90 中
FLT_EVAL_METHOD 值
- 定义的宏
体系结构 (J.3.13)
- FLT_EVAL_METHOD
- C99 中的计算格式
浮点计算器的精度
- 对 float_t 和 double_t 的影响
库函数 (J.3.12)
- 对库函数准确度的影响
浮点 (J.3.6)
- 非标准负值
浮点 (J.3.6)
- fmod 函数
库函数 (J.3.12)
- fopen 函数
-errsecurity 标志
- fprintf 函数
(7.9.6.1) The output for conversion in the fprintf function(fprintf 函数中 %p 转换的输出):
库函数 (J.3.12)
- free 函数
库函数 (J.3.12)
- fscanf 函数
(7.9.6.2) The input for conversion in the function(fscanf 函数中 %p 转换的输入):
库函数 (J.3.12)
- fsetpos 函数
库函数 (J.3.12)
- ftell 函数
库函数 (J.3.12)
- fwprintf 函数
库函数 (J.3.12)
- fwscanf 函数
库函数 (J.3.12)
G
- getc 函数
-errsecurity 标志
- getenv 函数
signal 函数信号的语义
- gets 函数
-errsecurity 标志
- getutxent 函数
注意:长度增长的派生类型
I
- #include, 添加头文件
如何指定 include 文件
- ilogb 函数
库函数 (J.3.12)
- ilogbf 函数
库函数 (J.3.12)
- ilogbl 函数
库函数 (J.3.12)
- ipo(C 编译器)
C 编译系统的组件
- iropt(代码优化器)
C 编译系统的组件
- isalnum 函数
(7.3.1) 由 isalnum、isalpha、iscntrl、islower、isprint 和 isupper 函数测试的字符集:
- isalpha 函数
(7.3.1) 由 isalnum、isalpha、iscntrl、islower、isprint 和 isupper 函数测试的字符集:
语言环境特定的行为 (J.4)
- isatty 函数
环境 (J.3.2)
- iscntrl 函数
(7.3.1) 由 isalnum、isalpha、iscntrl、islower、isprint 和 isupper 函数测试的字符集:
- islower 函数
(7.3.1) 由 isalnum、isalpha、iscntrl、islower、isprint 和 isupper 函数测试的字符集:
- ISO C 与 K&R C
-X[c|a|t|s]
-X[c|a|t|s]
- ISO/IEC 9899:
- 1999 C 编程语言标准
C99 的功能
标准符合性
- 2011 C 编程语言标准
C11 的功能
- ISO/IEC 9899:1990 标准
C 编译器实现特定信息
- ISO/IEC 9899:1999 标准
C 编译器实现特定信息
- ISO/IEC 9899:2011 标准
C 编译器实现特定信息
- isprint 函数
(7.3.1) 由 isalnum、isalpha、iscntrl、islower、isprint 和 isupper 函数测试的字符集:
- isupper 函数
(7.3.1) 由 isalnum、isalpha、iscntrl、islower、isprint 和 isupper 函数测试的字符集:
- iswalpha 函数
语言环境特定的行为 (J.4)
- iswctype 函数
周日期及缩写
J
- ja_JP.PCK 语言环境
-xcsi
K
- K&R C 与 ISO C
-X[c|a|t|s]
-X[c|a|t|s]
L
- LANG 环境变量
- 在 C90 中
(6.1.3.4) The current locale used to convert multibyte characters into corresponding wide characters (codes) for a wide character constant(用于针对宽字符常量将多字节字符转换为相应宽字符的当前语言环境):
- 在 C99 中
语言环境特定的行为 (J.4)
标准字母换码序列唯一值
- layout 级别别名歧义消除
别名歧义消除级别
- LC_ALL 环境变量
- 在 C90 中
(6.1.3.4) The current locale used to convert multibyte characters into corresponding wide characters (codes) for a wide character constant(用于针对宽字符常量将多字节字符转换为相应宽字符的当前语言环境):
- 在 C99 中
标准字母换码序列唯一值
- LC_CTYPE 环境变量
- 在 C90 中
(6.1.3.4) The current locale used to convert multibyte characters into corresponding wide characters (codes) for a wide character constant(用于针对宽字符常量将多字节字符转换为相应宽字符的当前语言环境):
- 在 C99 中
标准字母换码序列唯一值
- ld(C 编译器)
C 编译系统的组件
- libfast.a
libfast.a 库 (SPARC)
- limits.h
- 定义的宏
体系结构 (J.3.13)
- lint
- lint 命令行选项
- -###
-###
- -#
-#
- -a
-a
- -b
-b
- -C
-C filename
- -c
-c
- -dirout
-dirout=dir
- -err=warn
-err=warn
- -errchk
-errchk=l(, l)
- -errfmt
-errfmt=f
- -errhdr
-errhdr=h
- -erroff
-erroff=tag(, tag)
- -errsecurity
-errsecurity=level
- -errtags
-errtags=a
- -errwarn
-errwarn=t
- -F
-F
- -fd
-fd
- -flagsrc
-flagsrc=file
- -h
-h
- -I
-Idir
- -k
-k
- -L
-Ldir
- -l
-lx
- -m
-m
- -n
-n
- -Ncheck
-Ncheck=c
- -Nlevel
-Nlevel=n
- -o
-ox
- -p
-p
- -R
-Rfile
- -s
-s
- -u
-u
- -V
-V
- -v
-v
- -W
-Wfile
- -x
-x
- -Xalias_level
-Xalias_level[=l]
- -Xc99
-Xc99[=o]
- -XCC
-XCC=a
- -Xkeeptmp
-Xkeeptmp=a
- -Xtemp
-Xtemp=dir
- -Xtime
-Xtime=a
- -Xtransition
-Xtransition=a
- -Xustr
-Xustr={ascii_utf16_ushort|no}
- -y
-y
- lint 如何检查代码
使用 lint
- LINT_OPTIONS
使用 lint
- 一致性检查
一致性检查
- 介绍
lint 源代码检验器
- 可疑的构造
可疑的构造
可疑的构造
- 可移植性检查
可移植性检查
可移植性检查
- 基本模式
- 介绍的
基本和增强 lint 模式
- 调用
使用 lint
- 增强模式
- 介绍的
基本和增强 lint 模式
- 调用
使用 lint
- 头文件, 查找
使用 lint
- 库
lint 库
lint 库
- 指令
lint 指令
指令
- 消息
- 抑制
用于禁止消息的选项
- 格式
lint 消息格式
lint 消息格式
- 消息 ID(标记), 标识
用于禁止消息的选项
-errtags=a
- 诊断
可疑的构造
由 lint 执行的诊断
- 过滤器
lint 过滤器
lint 过滤器
- 预定义
断言
- lint 的基本模式
基本和增强 lint 模式
- lint 的增强模式
基本和增强 lint 模式
- lint 的过滤器
lint 过滤器
lint 过滤器
- LINT_OPTIONS 环境变量
使用 lint
- llib-lx.ln 库
lint 库
- long double
- 在 ISO C 中传递
32 位 SPARC
- long int
常见算术转换
- long long
常见算术转换
long long 数据类型
- 传递
x86 函数返回类型所使用的寄存器 (-m32)
32 位 SPARC
- 值保留
数据类型后缀
- 后缀
数据类型后缀
- 算术提升
常见算术转换
- 表示法
long (-m64) 和 long long(-m32 和 -m64)的表示法
- 返回
32 位 SPARC
M
- main 函数
环境 (J.3.2)
- main, 部分语义
(5.1.2.2.1) Semantics of arguments to main(main 的参数的语义):
- makefile 依赖性
-xM
- malloc 函数
库函数 (J.3.12)
- mbarrier.h
内存屏障内部函数
- mcs(C 编译器)
C 编译系统的组件
- MP C
并行化 C 代码
N
- NULL 宏
库函数 (J.3.12)
- NULL, 值
(7.1.6) 宏 NULL 扩展为的空指针常量:
O
- OMP_NUM_THREADS
环境变量
- OMP_STACKSIZE 环境变量
环境变量
- OMP_STACKSIZE 的从属线程缺省设置
环境变量
- OpenMP
- -xopenmp command
-xopenmp[={parallel|noopt|none}]
- 如何编译
使用 OpenMP 并行化
P
- PARALLEL
环境变量
- PEC:可移植的可执行代码
xpec[={yes|no}]
- Pentium
x86 上的 -xtarget 扩展
- POSIX 线程
-mt[={yes|no}]
- postopt(C 编译器)
C 编译系统的组件
- pragma
使用 Pragma 以便更好地控制
Pragma
- #pragma alias
#pragma alias (type, type [, type]…)
- #pragma alias_level
#pragma alias_level level (list)
- #pragma align
align
- #pragma c99
c99
- #pragma does_not_read_global_data
does_not_read_global_data
- #pragma does_not_return
does_not_return
- #pragma does_not_write_global_data
does_not_write_global_data
- #pragma dumpmacros
dumpmacros
- #pragma end_dumpmacros
end_dumpmacros
- #pragma error_messages
error_messages
- #pragma fini
fini
- #pragma hdrstop
hdrstop
- #pragma ident
ident
- #pragma init
init
- #pragma inline
inline
- #pragma int_to_unsigned
int_to_unsigned
- #pragma may_not_point_to
#pragma may_not_point_to (pointer, variable [, variable]…)
- #pragma may_point_to
#pragma may_point_to (pointer, variable [, variable]…)
- #pragma must_have_frame
must_have_frame
- #pragma no_inline
inline
- #pragma no_side_effect
opt
no_side_effect
- #pragma noalias
#pragma noalias (pointer, pointer [, pointer]…)
#pragma noalias (type, type [, type]…)
- #pragma nomemorydepend
nomemorydepend
- #pragma opt
opt
- #pragma pack
pack
- #pragma pipeloop
pipeloop
- #pragma rarely_called
rarely_called
- #pragma redefine_extname
redefine_extname
- #pragma returns_new_memory
returns_new_memory
- #pragma unknown_control_flow
unknown_control_flow
- #pragma unroll
unroll
- #pragma warn_missing_parameter_info
warn_missing_parameter_info
- #pragma weak
weak
- printf 函数
库函数 (J.3.12)
R
- readme 文件
C 自述文件
- realloc 函数
库函数 (J.3.12)
- remove 函数
(7.9.4.1) The effect of the remove function on an open file(remove 函数对打开的文件的影响):
库函数 (J.3.12)
- rename 函数
(7.9.4.2) The effect if a file with the new name exists prior to a call to the rename function(在调用 rename 函数之前已存在具有新名称的文件时的影响):
库函数 (J.3.12)
- restrict 关键字
- 作为支持的 C99 功能的一部分
C99 关键字
- 在并行化代码中作为类型限定符
带两个指针的循环
- 由 -Xs 识别
带两个指针的循环
S
- scanf 函数
-errsecurity 标志
- setlocale 函数
库函数 (J.3.12)
- setlocale(3C)
新函数
setlocale() 函数
- signal 函数
环境 (J.3.2)
- signed
(6.2.1.1) Whether a plain char has the same range of values as signed char or unsigned char(无格式 char 的值范围是与 signed char 相同还是与 unsigned char 相同):
- sizeof 函数
sizeof( ) 是无符号 long
- Solaris 线程
-mt[={yes|no}]
- ssbd(C 编译器)
C 编译系统的组件
- stabs 调试器数据格式
-xdebugformat=[stabs|dwarf]
- stat 函数
-errsecurity 标志
- std
-std=value
- std 级别别名歧义消除
别名歧义消除级别
- stdint.h
- 定义的宏
体系结构 (J.3.13)
- strerror 函数
语言环境特定的行为 (J.4)
- strftime 函数
库函数 (J.3.12)
- strict 级别别名歧义消除
别名歧义消除级别
- strlcpy 函数
-errsecurity 标志
- strong 级别别名歧义消除
别名歧义消除级别
- strtod 函数
库函数 (J.3.12)
- strtof 函数
库函数 (J.3.12)
- strtold 函数
库函数 (J.3.12)
- sun_prefetch.h
-xprefetch 标志
- SUN_PROFDATA
- 定义
SUN_PROFDATA
- SUN_PROFDATA_DIR
- 定义
SUN_PROFDATA_DIR
- SUNW_MP_WARN 环境变量
环境变量
- system 函数
库函数 (J.3.12)
signal 函数信号的语义
T
- tcov
- 和 -xprofile
-xprofile=p
- TMPDIR 环境变量
TMPDIR
TMPDIR
- towctrans 函数
周日期及缩写
- TZ
(7.12.1) The local time zone and Daylight Savings Time(本地时区和夏令时):
- 调试信息, 删除
-s
- 调试器数据格式
-xdebugformat=[stabs|dwarf]
U
- ube(C 编译器)
C 编译系统的组件
- unsigned long long
long long 数据类型
- unsigned
(6.2.1.1) Whether a plain char has the same range of values as signed char or unsigned char(无格式 char 的值范围是与 signed char 相同还是与 unsigned char 相同):
V
- varargs(5)
混合使用的注意事项
- VIS 软件开发者工具包
-xvis
- volatile
- 关键字和用法说明
派生类型中的类型限定符
- volatile
- 关键字和用法说明
const 和 volatile
- 兼容的声明
单次编译兼容性
- 在 C90 中
(6.5.5.3) What constitutes an access to an object that has volatile-qualified type(什么构成对为 volatile 限定类型的对象的访问):
- 定义和示例
volatile 用法示例
volatile 用法示例
- VPATH 环境变量
步骤 1:设置环境
W
- #warning
警告和错误
- wait3 函数
库函数 (J.3.12)
- wait 函数
库函数 (J.3.12)
- waitid 函数
库函数 (J.3.12)
- waitpid 函数
库函数 (J.3.12)
- wcsftime 函数
库函数 (J.3.12)
- wcstod 函数
库函数 (J.3.12)
- wcstof 函数
库函数 (J.3.12)
- wcstold 函数
库函数 (J.3.12)
- weak 级别别名歧义消除
别名歧义消除级别