各平台long,int,short,char的大小

ARM7,ARM9,PC都是32位CPU: char为1 Byte, short为2 Byte, int和long都为4 Byte, long long为8 Byte

源码

[guowenxue@localhost QCTool]$ cat test.c 

#include <stdio.h>

int main(void)

{

   printf("unsigned long long: %d\n", sizeof(unsigned long long));

   printf("unsigned long: %d\n", sizeof(unsigned long));

   printf("unsigned int: %d\n", sizeof(unsigned int));

   printf("unsigned short: %d\n", sizeof(unsigned short));

   printf("unsigned char: %d\n", sizeof(unsigned char));

   return 0;

}

编译

[guowenxue@localhost QCTool]$ arm-elf-gcc test.c -Wl,-elf2flt -o test_ARM7        

[guowenxue@localhost QCTool]$ arm-linux-gcc test.c -o test_ARM9

[guowenxue@localhost QCTool]$ gcc test.c -o test_I386

 

W90P710(ARM7):

root:/tmp> ./test_ARM7 

unsigned long long: 8

unsigned long: 4

unsigned int: 4

unsigned short: 2

unsigned char: 1

root:/tmp> uname -a

Linux (none) 2.4.20-uc0 #5722 Mon Mar 14 16:13:08 CST 2011 armv3l unknown

root:/tmp> cat /proc/cpuinfo 

Processor       : Winbond W90P710 rev 1 (v3l)

BogoMIPS        : 39.83

Hardware        : W90P710

Revision        : 0000

Serial          : 0000000000000000

 

AT91SAM9260(ARM9)

/tmp >: ./test_ARM9 

unsigned long long: 8

unsigned long: 4

unsigned int: 4

unsigned short: 2

unsigned char: 1

/tmp >: uname -a

Linux netaccess 2.6.22.1 #5481 Wed Feb 23 13:45:32 CST 2011 armv5tejl unknown

/tmp >: cat /proc/cpu

/proc/cpu/     /proc/cpuinfo

/tmp >: cat /proc/cpu

/proc/cpu/     /proc/cpuinfo

/tmp >: cat /proc/cpuinfo 

Processor       : ARM926EJ-S rev 5 (v5l)

BogoMIPS        : 99.12

Features        : swp half fastmult edsp java 

CPU implementer : 0x41

CPU architecture: 5TEJ

CPU variant     : 0x0

CPU part        : 0x926

CPU revision    : 5

Cache type      : write-back

Cache clean     : cp15 c7 ops

Cache lockdown  : format C

Cache format    : Harvard

I size          : 8192

I assoc         : 4

I line length   : 32

I sets          : 64

D size          : 8192

D assoc         : 4

D line length   : 32

D sets          : 64

 

Hardware        : Atmel AT91SAM9260-EK

Revision        : 0000

Serial          : 0000000000000000

 

 

PC(I386上)

[guowenxue@localhost QCTool]$ ./test_I386

unsigned long long: 8

unsigned long: 4

unsigned int: 4

unsigned short: 2

unsigned char: 1

[guowenxue@localhost QCTool]$ uname -a

Linux localhost.localdomain 2.6.9-42.ELsmp #1 SMP Sat Aug 12 09:39:11 CDT 2006 i686 i686 i386 GNU/Linux

[guowenxue@localhost QCTool]$ cat /proc/cpuinfo 

processor       : 0

vendor_id       : GenuineIntel

cpu family      : 6

model           : 15

model name      : Intel(R) Pentium(R) Dual  CPU  E2180  @ 2.00GHz

stepping        : 13

cpu MHz         : 2000.006

cache size      : 1024 KB

physical id     : 0

siblings        : 2

core id         : 0

cpu cores       : 2

fdiv_bug        : no

hlt_bug         : no

f00f_bug        : no

coma_bug        : no

fpu             : yes

fpu_exception   : yes

cpuid level     : 10

wp              : yes

flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm pni monitor ds_cpl est tm2 xtpr

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值