Sun Studio 12:C 用户指南

B.2.18 -features=[[no%] extinl|%none]

缺省情况下,编译器对外部内联函数的处理符合 ISO/IEC 9899:1999 C 标准指定的行为。使用 -features=no%extinl 编译新代码以获取对外部内联函数的处理,该处理和版本 5.5(或早期版本)的 C 和 C++ 编译器提供的处理相同。

表 B–6 -features 标志

值 

含义 

extensions

允许零大小的结构/联合声明以及返回语句返回一个值的 void 函数起作用。 

extinl

将外部内联函数生成为全局函数。这是缺省值,符合 1999 C 标准。 

no%extinl

将外部内联函数生成为静态函数。 

%none

此选项被禁用。 

旧的 C 和 C++ 对象(使用本发行版之前的 Sun 编译器创建的对象)可以与新的 C 和 C++ 对象链接,而不会更改旧对象的行为。要获得标准的符合规范的行为,您必须使用当前编译器重新编译旧代码。

如果不为 -features 指定设置,编译器将把它设置为 -features=extinl