32位机和64位机编程时应该注意些什么
来源:互联网 发布:2am 2pm 知乎 编辑:程序博客网 时间:2024/03/29 20:07
16位平台
char 1个字节8位
short 2个字节16位
int 2个字节16位
long 4个字节32位
指针 2个字节
32位平台
char 1个字节8位
short 2个字节16位
int 4个字节32位
long 4个字节
long long 8个字节
指针 4个字节
64位平台
char 1个字节
short 2个字节
int 4个字节
long 8个字节(区别)
long long 8个字节
指针 8个字节(区别)
2.为了保证平台的通用性,程序中尽量不要使用long数据库型
3.编程中要尽量使用sizeof来计算数据类型的大小,如:int *p = (int *)malloc(sizeof(int)*100);而不要int *p = (int *)malloc(400);
4.使用int时也可以使用intptr_t来保证平台的通用性,它在不同的平台上编译时长度不同,但都是标准的平台长度,比如64位机器它的长度就是8字节,32位机器它的长度是4字节,定义如下: #if __WORDSIZE == 64
typedef long int intptr_t;
#else
typedef int intptr_t;
#endif
5.ssize_t和size_t分别是unsigned和signed size of computer word size。它们也是表示计算机的字长,在32位机器上是int型,在64位机器上long型,从某种意义上来说它们等同于intptr_t和 uintptr_t。它们在stddef.h里面定义。需要注意的是socket的accept函数在有些操作系统上使用size_t是不正确的,因为 accept接收的int*类型,而size_t可能是long int 类型。后来BSD使用sock_t来替代它
- 32位机和64位机编程时应该注意些什么
- 32位机和64位机编程时应该注意些什么
- 32位机和64位机编程时应该注意些什么
- 32位机和64位机编程时应该注意些什么
- 32位机和64位机编程时应该注意些什么?
- 32位机和64位机编程时应该注意些什么
- 32位机和64位机编程时应该注意些什么
- 32位机和64位机编程时应该注意些什么
- 32位操作系统和64位操作系统应该注意的地方
- C编程注意32位机器和64位机器的差别及unsigned和signed
- 64位与32位处理器编程的差异和需要注意的问题
- 语言编程需要注意的64位和32位机器的区别
- 64位和32位系统编程
- 64位系统和32位有什么区别?
- 64位系统和32位有什么区别
- 32位操作系统和64位操作系统有什么区别
- 64 位软件和 32 位有什么具体区别?
- win32,win64编程永恒;语言编程需要注意的64位和32机器的区别
- Java中的异常(1)
- ZOJ 3886 Nico number(线段树)
- 如何拉伸有透明区域的png图片来做UIButton的背景图片
- poll&&epoll实现分析(二)——epoll实现
- poj 1823 Hotel(线段树·区间更新·lazy tag)
- 32位机和64位机编程时应该注意些什么
- HDU2.2.5 三角形
- 不要死性不改
- Django之第一个app<15>
- UVa 10635 - Prince and Princess(LCS转LIS)
- listview实现自动向上滚动,快速滚动,和滚动条的一些设置
- 简单工厂方法,工厂方法,抽象工厂方法
- web开发的几道笔试题
- 字符串相关处理函数