我第一次看到__attribute__
关键字后得到了一个C程序。它似乎是一个GNU关键字。在海湾合作委员会的this page中,他们用(vector_size(16))
属性解释其用法,并说:
int foo __attribute__ ((vector_size (16)));
使编译器将foo的模式设置为16字节,分为int大小的单位。假设32位int(4个4字节的向量),foo的相应模式将是V4SI。
这是什么意思? foo
现在被声明为一个4元素的int数组吗?如果是这样,那么只会出现什么问题:
int foo[4];
答案 0 :(得分:1)
用于SIMD矢量化。 (不,它不会使foo
成为数组。)
记录在案here。
答案 1 :(得分:0)
不,foo不会被声明为数组。在此语句中,int类型指定基类型,而属性指定变量的向量大小,以字节为单位。