ARM支持的数据宽度


ARM 处理器支持6种数据类型;

8位有符号和无符号字节。 (char, unsigned char)

16位有符号和无符号半字,它们以2字节的边界对准。(short int, unsigned short int)

32位有符号和无符号字,它们以4字节的边界对准。(int, unsigned int)

ARM指令全是以32bit的字并且必须是字对准的。

Thumb指令是半字而且必以两字节的边界对准的。

  1. #include <stdio.h>   
  2. #include <stdlib.h>   
  3.   
  4. void main()  
  5. {  
  6.     printf("sizeof(char) = %d\n"sizeof(char));  
  7.     printf("sizeof(short) = %d\n"sizeof(short));  
  8.     printf("sizeof(int) = %d\n"sizeof(int));  
  9.     printf("sizeof(long) = %d\n"sizeof(long));  
  10.     printf("sizeof(float) = %d\n"sizeof(float));  
  11.     printf("sizeof(double) = %d\n"sizeof(double));  

运行结果:

  1. [root@www.bkjia.com width]# arm-linux-gcc arm-width.c -o arm-width  
  2. [root@www.bkjia.com width]# ./arm-width   
  3. sizeof(char) = 1  
  4. sizeof(short) = 2  
  5. sizeof(int) = 4  
  6. sizeof(long) = 4  
  7. sizeof(float) = 4  
  8. sizeof(double) = 8  
  9. [root@www.bkjia.com width]#   

相关内容