victor
发布于

32位与64位下各类型长度对比/特别注意

1. 32 位和 64 位 C 数据类型

32 和 64 位 C 语言内置数据类型,如下表所示:

2. 32 位系统代码移植 64 位系统特别注意点

在 32 位系统经常会把指针转为 int 类型,以便传送,[如 int *p; int data = (int)p;],当此语句移植到 64 系统后就会存在高位地址丢失问题,从而导致“Segmentation fault”

p:0x560998d38930
data:0xffffffff98d38930

浏览 (827) 点赞 收藏 分享
评论