-pk、-pr和-ps选项可以用来规定C编译器解释源代码。编译源代码有如下的模式:
- Normal ANSI模式
- K&R C模式
- 宽松ANSI模式
- 严格ANSI模式
默认的模式是Normal ANSI模式。在此模式下,大多数违反ANSI标准的语句都报错。违反严格ANSI标准的语句给出警告。语言扩展的语句都是允许的。
1.兼容K&R C(-pk选项)
主要用来简化用C55x ANSI C编译器对以前C标准代码的编译过程。编译器有一个K&R (–pk)选项,用来改变语言的段规则来兼容老版本的代码。总体说来,–pk选项使编译要求比ANSI C更加容易达到。同时,该选项支持ANSI C语言的新功能,如函数原型、枚举、初始化和预处理器结构。
2.严格ANSI模式和宽松ANSI模式(–ps和–pr选项)
使用-ps选项可以使编译器工作在严格ANSI模式。这种模式下,会在违反ANSI规则的时候报错,同时可能影响程序严格形式的语言扩展不可用。这些语言扩展包括inline和asm关键字。
使用-pr选项可以使编译器忽略违反严格的ANSI标准的情况下而不发送警告消息(普通ANSI模式中会发送)或错误消息(严格ANSI模式中会发送)。在宽松ANSI模式中,编译接受对ANSI C标准的扩展,甚至是和ANSI C冲突的时候。