1.Normal ANSI模式(默认) ●编译器默认的模式是Normal ANSI模式, 在此模式下: ◆大多数违反ANSI标准的语句都报错 ◆违反严格ANSI标准的语句给出警告 ◆语言扩展的语句都是允许的 29
⚫ 编译器默认的模式是Normal ANSI模式, 在此模式下: ◆大多数违反ANSI标准的语句都报错 ◆违反严格ANSI标准的语句给出警告 ◆语言扩展的语句都是允许的 1. Normal ANSI模式(默认) 29
2.兼容K&RC(-pk选项) Properties for Fir ▣ type filter text Language Options Resource General Build Configuration:Debug Active Manage Configurations... C5500 Compiler Processor Options Optimization C/C++Dialect Debug Options Language mode Include Options Embedded C++(--embedded cpp,-pe) Advanced Options Disable intrinsK&R compatibility(--kr compatible,-pk) Advanced Debug Options Output xref listing to,eHe←gen aep wref,p分 Language Options Do not delete unreferenced static variables(--keep unneeded statics) Parser Preprocessing Options Ignore inline keyword(--no inlining,-pi) Predefined Symbols Program mode compilation(--program_level_compile,-pm) Diagnostic Options Output raw listing to.rl file(--gen acp_raw,-pl) Runtime Model Options Multibyte character support(--multibyte chars,-pc) Advanced Optimizations Enable C++exception handling (--exceptions) Entry/Exit Hook Options Support C++run-time type information(--rtti,-rtti) Library Function Assumptions Treat C files as C++files (--cpp_default,-fg) Assembler Options Enable support for GCC extensions(--gcc) File Type Specifier Do static early template instantiation(--static template_instantiation) Directory Specifier Default File Extensions Command Files MISRA-C:2004 C5500 Linker Debug Task Tags ② Show advanced settings OK Cancel 30
2.兼容K&R C(-pk选项) ⚫ 主要用来简化用C55x ANSI C编译器对以前C 标准代码的编译过程. ⚫ 编译器有一个K&R (–pk)选项,用来改变语 言的段规则来兼容老版本的代码. ⚫ 总体说来,–pk选项使编译要求比ANSI C更 加容易达到. ⚫ 同时,该选项支持ANSI C语言的新功能,如 函数原型、枚举、初始化和预处理器结构. 30
2.兼容K&RC(-pk选项) 编译器有一个K&R(-pk)选项,用来改变语言的段 规则来兼容老版本的代码 -pk选项使编译要求比ANSI C更加容易达到. 同时,该选项支持ANSI C语言的新功能,如函数原 型、枚举、初始化和预处理器结构. K&RC与ANSI C的区别 C语言由Dennis M.Ritchie:在1973年设计和实现。到1978年 Ritchie和Bell实验室的另一位程序专家Kernighan合写了著名的 《The C Programming Language》。由这本书定义的C语言后来 被人们称作K&RC。 ●随着C语言使用和问题的出现,美国国家标准局(ANSI)对C语言进 行标准化,1988年10月颁布的ANSI标准X3.159-1989,也就是后 来人们所说的ANSI C标准。由这个标准定义的C语言被称作ANSI C。 N©TC标准很快被平纳头国际标准知冬国的准。国际标准头 31
2.兼容K&R C(-pk选项) ⚫ 编译器有一个K&R (–pk)选项,用来改变语言的段 规则来兼容老版本的代码. ⚫ –pk选项使编译要求比ANSI C更加容易达到. ⚫ 同时,该选项支持ANSI C语言的新功能,如函数原 型、枚举、初始化和预处理器结构. 31 ⚫ K&R C 与 ANSI C的区别 ⚫ C语言由Dennis M. Ritchie在1973年设计和实现。到1978年 Ritchie和Bell实验室的另一位程序专家Kernighan合写了著名的 《The C Programming Language》。由这本书定义的C语言后来 被人们称作 K&R C。 ⚫随着C语言使用和问题的出现,美国国家标准局(ANSI)对C语言进 行标准化,1988年10月颁布的ANSI标准X3.159-1989,也就是后 来人们所说的ANSI C标准。由这个标准定义的C语言被称作ANSI C。 ⚫ ANSI C标准很快被采纳为国际标准和各国的标准。国际标准为 ,中国国家标准 是国际
3.严格ANSI模式(-ps选项) Strict ISO Mode ●使用-ps选项可以使编译器工作在严格 ANSI模式,这种模式下: ◆会在违反ANSI规则的时候报错,语言扩 展因违反严格ANSI规则,所以不可用。 ◆这些语言扩展的例子:inline和asm关键 字不可用 32
3.严格ANSI模式 (–ps选项) ⚫ 使用-ps选项可以使编译器工作在严格 ANSI模式,这种模式下: ◆会在违反ANSI规则的时候报错,语言扩 展因违反严格ANSI规则,所以不可用。 ◆这些语言扩展的例子: inline和asm关键 字不可用 32 Strict ISO Mode
3.严格ANSI模式(-ps选项) 4.宽松ANSI模式(-pr选项) Properties for Exam6 5 type filter text Language Options Resource General Build Configuration:Debug Active Manage Configurations. C5500 Compiler Processor Options Optimization C/C++Dialect Debug Options Language mode Include Options Disable intrins Advanced Options Output xref lisRelaxed parsing(no-strict ANS)(--relaxed ansi,-pr) Advanced Debug Options Strict ANSI mode (errors)(--strict ansi,-ps) Language Options Parser Preprocessing Option Ignore inline keyword (--no inlining.-pi) Predefined Symbols Program mode compilation (--program level compile,-pm) Diagnostic Options Output raw listing to.rl file (--gen acp raw,-pl) Runtime Model Options Multibyte character support(--multibyte chars,-pc) Advanced Optimizations Enable C++exception handling (--exceptions) Entry/Exit Hook Options ☐Support C+run--time type information-tt,-tt峋) Library Function Assumption Treat C files as C++files (--cpp default,-fg) Assembler Options Enable support for GCC extensions (--gcc) File Type Specifier Do static early template instantiation(--static template instantiation) Directory Specifier Default File Extensions Command Files MISRA-C:2004 C5500 Linker 33
3.严格ANSI模式 (–ps选项) ⚫ 主要用来简化用C55x ANSI C编译器对以前C 标准代码的编译过程. ⚫ 编译器有一个K&R (–pk)选项,用来改变语 言的段规则来兼容老版本的代码. ⚫ 总体说来,–pk选项使编译要求比ANSI C更 加容易达到. ⚫ 同时,该选项支持ANSI C语言的新功能,如 函数原型、枚举、初始化和预处理器结构. 33 4. 宽松ANSI模式(–pr选项)