0
我试图遵循一个简单的示例的AltiVec初始化是这样的:AltiVec技术编译错误
1 // Example1.c
2 #include <stdio.h>
#include <altivec.h>
3
4 int main()
5 {
6 __vector unsigned char v1;
7
8 // Assign 16 8-bit elements to vector v1
9 v1 = (__vector unsigned char)(
10 '0', '1', '2', '3',
11 '4', '5', '6', '7',
12 '8', '9', 'A', 'B',
13 'C', 'D', 'E', 'F');
14
15 // Print out the contents of v1 char by char
16 // &v1 is casted to (unsigned char *)
17 for(int i = 0; i < 16; i++)
18 printf("%c", ((unsigned char *)(&v1))[i]);;
19
20
21 return 0;
22 }
然而,当我编译我得到一个错误说法错误:不能在不同大小的矢量值之间的转换。
有人会知道这是为什么吗?我的gcc版本是4.4.6。
我现在用Paul的解决方案开始工作。
HOwever,当我尝试打印它时,它给了我错误,正如我在Paul的评论下评论的那样。
有人会知道为什么这样吗?
嗨, 于第一线,我仍然无法初始化。但是,当我尝试使用printf(“%d \ n”,(unsigned char)v1 [i])打印它时,第二个工作正常。 我得到一个错误,说rabind.c:91:错误:下标值既不是数组也不是指针 你知道我如何访问向量中的每个元素? –