Oracle® Solaris Studio 12.4:C++ 用户指南

退出打印视图

更新时间: 2014 年 12 月
 
 

4.11 支持的属性

支持以下属性:为了实现兼容,编译器会实现由 __attribute__ (( keyword))[[keyword]] 调用的以下属性。还接受在双下划线内拼写的属性关键字 __keyword__

aligned

大致等效于 #pragma align。生成警告,且在用于可变长度数组时会被忽略。

always_inline

#pragma inline-xinline 等效

const

#pragma no_side_effect 等效

constructor

#pragma init 等效

deprecated(msg)

如果在源文件中使用类型、变量或函数,则会导致发出警告。可选参数 msg 必须是一个字符串文字,并将包括在警告消息中。

destructor

#pragma fini 等效

malloc

#pragma returns_new_memory 等效

mode

(无等效子句)

noinline

#pragma no_inline-xinline 等效

noreturn

#pragma does_not_return 等效

pure

#pragma does_not_write_global_data 等效

packed

#pragma pack() 等效。请参见下面的详细信息。

returns_twice

#pragma unknown_control_flow 等效

strong

接受它是为了与 g++ 兼容,但不起任何作用。g++ 文档建议不要使用该属性。

vector_size

指示变量或类型名称(使用 typedef 创建)表示一个向量。

visibility

提供链接程序作用域。(请参见 -xldscope={v})语法为:__attribute__((visibility(“visibility-type”))),其中 visibility-type 是以下选项之一:

default

__global 链接程序作用域相同

hidden

__hidden 链接程序作用域相同

internal

__symbolic 链接程序作用域相同

weak

#pragma weak 等效