3.2 选项语法
典型的编译器选项格式为:
表 3 选项语法
|
|
–flag
|
–g
|
–flagvalue
|
–Dnostep
|
–flag=value
|
–xunroll=4
|
–flag value
|
–o outfile
|
|
在说明各个选项时使用以下印刷约定:
表 4 选项的印刷表示法 | | |
[ ]
| 方括号包含的参数是可选的。
| -O[n] -O4、-O
|
{ }
| 花括号(大括号)包含必需选项的一组选择。
| -d{y|n} -dy
|
|
| "|" 或 "-" 符号用于分隔多个参数,只能选择其中一个参数。
| -B{dynamic|static} -Bstatic
|
:
| 冒号与逗号类似,有时用于分隔多个参数。
| -Rdir[:dir] -R/local/libs:/U/a
|
…
| 省略号表示一系列省略。
| -xinline=f1[,…fn] -xinline=alpha,dos
|
|
括号、管道符和省略号是在选项描述中使用的元字符,它们不是选项本身的一部分。
选项的一些常规准则如下:
–lx 是用于与库 libx.a 链接的选项。将 -lx 放在文件名列表之后以确保搜索顺序库,始终是较为安全之举。
通常,编译器选项的处理顺序是从左到右,从而允许有选择地覆盖宏选项(包含其他选项的选项)。 此规则不适用于链接程序选项。但是,当某些选项(例如 -I、-L 和 -R)在同一命令行上重复出现时,这些选项将累加值,而不是覆盖前面的值。
在可选选项列表(例如 -xhasc[={yes|no}])中,所列的第一个选项是出现在命令行上的选项标志不带值时所假定的值。例如,-xhasc 与 -xhasc=yes 等效。
源文件、对象文件和库按它们在命令行上出现的顺序编译并链接。