Oracle Solaris Studio 12.2:C 用户指南

B.2.19 -features=[v]

下表列出了可代替 v 使用的值。

表 B–7 -features 标志

值 

含义  

[no%]conststrings

启用或禁用将文本字符串放置在只读内存中。缺省值为 -features=conststrings,这会将文本字符串放在只读的数据段中。请注意,现在,使用此选项进行编译时,编译尝试写入文本字符串内存位置的程序会导致段故障。

extensions

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

extinl

将外部内联函数生成为全局函数。这是缺省值,符合 1999 C 标准。使用 -features=no%extinl 编译新代码可获得与旧版的 C 和 C++ 编译器相同的 extern 内联函数处理方式。

no%extinl

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

%none

此选项被禁用。 

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

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