基本数据类型

数据类型

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

short                                 2                  2

可以指定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的文件偏移操作,可以在程序中加入头文件之前定义

#define _FILE_OFFSET_BITS 64

这时off_t = __off64_t,具体定义在unistd.h中;对于64位机,默认就是64位长。

3,ino_t:跟机器字长一有;

C99标准定义一个叫着的头文件,该头文件定义了一系列各种类别的整数类型typedef名字。尽管速多C++ 工具支持该头文件已经有一段时间了,但它尚未正式收录于C++标准,因此,在使用该头文件之前,你应该先阅读你的编译器文档,看看它是否支持该文件。

字 长固定的整型类型

在这个头文件的类型定义中,有一套是字长固定的整型类型:

int8_t     int16_t     int32_t     int64_t

与其对应的字长固定的无符号型整型类型有:

uint8_t    uint16_t    uint32_t    uint64_t

它们的名字非常直观。例如,int8_t是长度固定为8比特的有符号整型类型,而uint8_t则是字长固定为8比特的无符号型整型类型。当你需要 确保在不同的平台上,整型数据的字长固定不变,那么你就可以使用这些typedef名字。

字长最小的快速整型类型

该头文件还定义 了另外一套typedef名字,即“最小指定长度的快速整型类型”。这套typedef名字中的每一种都表示一种整数类型,它满足在长度不小于某个指定长 度的前提下,拥有最快的处理速度。这些整数类型的名字为int_fastn_t(有符号)或者uint_fastn_t(无符号),其中“n”表示最小指 定长度。例如,int_fast32_t指得是字长至少为32比特的快速有符号整型类型。最小字长快速整型类型有:

int_fast8_t  int_fast16_t  int_fast32_t  int_fast64_t

对应的无符号整型类型有:

uint_fast8_t  uint_fast16_t  uint_fast32_t  uint_fast64_t

什么情况下使用这些typedef名字?

假设你需要一个字长不少于16比特的循环计数器,那么你会希望该计数器的类型总是当前计算 机CPU最佳操作的整型类型,而int_fast16_t可以保证任何平台上的编译器总是选择字长不少于16比特的最快整型类型。

#include

for (int_fast16_t n=0; n<30000; ++n)

{

//.. do something

}

(poseidonqiu)

_int64_在Linux对应对文件,linux下32位机与64位机基本数据类型长度对比相关推荐

  1. _int64_在Linux对应对文件,LInux 编程基础学习笔记 持续ing 文件读写

    一.文件读写 1.创建文件: 头文件: 函数:creat(char *path,int mode)  mode:S_I(R|W|X)(USR|GRP|OTH)   对不同用户组的不同读写执行 2.打开 ...

  2. Linux C 读取文件夹下所有文件(包括子文件夹)

    Linux C 读取文件夹下所有文件(包括子文件夹) 递归读取某文件夹及其子文件夹下所有文件名 深入探讨:linux中遍历文件夹下的所有文件 Linux C :遍历输出指定目录下的所有文件 Linux ...

  3. linux mount挂载命令(将分区挂接到Linux的一个文件夹下,从而将分区和该目录联系起来)

    看海康摄像头启动脚本有一些mount命令,不知道干啥用的... mount是Linux下的一个命令,它可以将分区挂接到Linux的一个文件夹下,从而将分区和该目录联系起来,因此我们只要访问这个文件夹, ...

  4. linux替换某个文件夹下所有文件,Linux 批量查找并替换文件夹下所有文件的内容...

    1.批量查找某个目下文件的包含的内容 cd etc grep -rn "查找的内容" ./ 2.批量替换某个目下所有包含的文件的内容 cd etc sed -i "s/查 ...

  5. 深入探讨:linux中遍历文件夹下的所有文件

    深入探讨:linux中遍历文件夹下的所有文件 http://www.jb51.net/article/37664.htm

  6. linux的头文件下载,Linux内核头文件(linux headers)

    更新 Linux 内核头文件(linux headers) 三 8th, 2013 2,474 views | 发表评论 | Trackback 一般来说,如果不是自己编译 kernel,那么更新头文 ...

  7. vbox 安装linux64,在Virtualbox下安装Lubuntu 18.04 64位教程

    本文以图解的方式为你演示在Virtualbox下安装Lubuntu 18.04 64位操作系统的方法.Lubuntu并非Ubuntu原版,因使用的是LXDE桌面环境而得名Lubuntu. Lubunt ...

  8. 32位与64位机器下各数据类型长度对比

    64 位的优点:64 位的应用程序可以直接访问 4EB 的内存和文件大小最大达到4 EB(2 的 63 次幂):可以访问大型数据库.本文介绍的是64位下C语言开发程序注意事项. 1 32 位和 64 ...

  9. Android的.so文件,32位处理器与64位处理器

    一.ABI 是什么 ABI 是 Application Binary Interface 的缩写. 不同 Android 手机使用不同的 CPU,因此支持不同的指令集.CPU 与指令集的每种组合都有其 ...

最新文章

  1. 医院选址问题--数据结构课程设计
  2. Codeforces round 1083
  3. c++ set遍历_Python算法学习之图与图的遍历
  4. VC6 + OpenCV1.0实现图片缩放显示
  5. 前端学习(2856):简单秒杀系统学习之定时器循环显示
  6. 纯手工打造简单分布式爬虫(Python)
  7. 使用ASP.NET Web API和Handlebars的Web模板
  8. 仿QQ锁屏界面消息提示
  9. 求解数独难题, Sudoku问题(回溯)
  10. LabelImg,LabelMe工具标注后的图片数据增强
  11. python语言输入中文_selenium+python 语言编写问题,在执行时无法输入中文用户名...
  12. Flutter之以阿里云图标库为例,使用多色图标
  13. java咖啡馆_Java咖啡馆(11):Java插件技术
  14. TIM_SetCompare1(TIM14,625); 但是这个办法对TIM4行不通。TIM4使用TIM_OCInitStructure.TIM_Pulse = dutyCycle;
  15. css+html 嵌套表格做简单网页
  16. 免疫系统与冠状病毒之争:抗体水平下降时,T细胞会支持你
  17. 图形化初始化达梦数据库
  18. littlevgl之cont 控件(容器控件)
  19. 【路径规划】基于matlab蚁群优化遗传算法机器人栅格地图最短路径规划【含Matlab源码 1581期】
  20. 蓝桥杯单片机设计与开发历届客观题答案

热门文章

  1. C#实现软件授权,限定MAC运行(软件license管理,简单软件注册机制)
  2. 技术或运营的妥协/退让场景
  3. c++多线程基础4(条件变量)
  4. share一段采集程序的代码
  5. JMX 简介 和 实例
  6. 【摘转留用】35前要考虑的
  7. IOS初始化控制器的两种方法
  8. PHP时间日期增减操作示例【date strtotime实现加一天、加一月等操作】
  9. tomcat增加处理线程数量
  10. C# 反射 设置字段值无效的解决办法