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:錯誤:下標值既不是數組也不是指針 你知道我如何訪問向量中的每個元素? –