缺省情况下,编译器对外部内联函数的处理符合 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。