龙新123 發表於 2011-3-6 04:55:04

linux下32位机与64位机基本数据类型长度区别介绍

基本数据类型
                        数据类型            32位            64位                        char            1            1                        int            4            4                        long
            4            8                        float            4            4                        double            8            8                        long double            12            16                        long long            8            8         
可以指定int的长度:
                        数据类型            32位            64位                        int32_t            4            4                        int64_t
            8            8         
类似的,还有uint32_t和uint64_t
其它数据类型
1,size_t:跟机器字长一样;
2,off_t:32位机器下默认是32位长,这时无法对大于4G的文件偏移操作,这时off_t = __off_t;如果想进行大于4G的文件偏移操作,可以在程序中加入头文件之前定义
这时off_t = __off64_t,具体定义在unistd.h中;对于64位机,默认就是64位长。

#define _FILE_OFFSET_BITS 64

3,ino_t:跟机器字长一样。
頁: [1]
查看完整版本: linux下32位机与64位机基本数据类型长度区别介绍