Linux内核数据类型分为三种:

1,标准C语言基本数据类型:在不同操作系统中内存空间大小不同

byte,char,short,int,long,long long

unsigined char,unsigned short,unsigned int, unsigned long

2,确定大小的数据类型:内存空间大小相同,便于移植;属于Linux内核特定类型,在其他操作系统不支持;

u8(typedef unsigned char u8;),u16(typedef unsigned short u16;),u32(typedef unsigned int u32;),u64(typedef unsigned long long u64;)

__u8,__u16,__u32,__u64(用户和用户空间交互数据)

s8,s16,s32,s64(带符号类型)

c99标准定义的相关类型,uint8_t,uint16_t,uint32_t,uint64_t(属于标准所有操作系统都支持)

3,用于特定内核对象的数据类型:类型语义明确;但是赋值的时候不清楚其类型;

用typedef定义特定用途的类型,例如:pid_t

Linux内核移植其他方面需要注意的问题:

1,时间:对于时钟中断频率要使用宏定义:HZ,不要假定其值为确定值;

2,页面大小:页面大小要使用PAGE_SIZE宏定义,不要假定其值为4K,页内偏移量使用PAGE_SHIFIT,不要假定其值为12;

3,内存对齐:内存对齐值为数据类型本身对齐值(占用内存空间起始地址为数据类型本身占用空间大小的整数倍)与指定对齐值二者取最小的值;内存对齐是硬件结构设计的限制,对内存对齐的数据读写可以在最少的内存周期内完成,达到内存优化的提高性能的目的;

4,字节序:当CPU一次读写内存的数据宽度超过一个字节时,数据在内存中的存放就需要注意字节序,这和体系结构相关,不同的体系结构字节序不同,X86架构处理器采用小端字节序;PCI设备采用小端序,网络设备采用网络字节序,当字节序不同是需要调整字节序:

unsigned  le32_to_cpu(le32);

unsigned cpu_to_le32(cpu);

字节序不同就无法正常得到数据,就会导致非常严重的问题;

java unsigined short_LDD之数据类型相关推荐

  1. java基础之java中的基本数据类型

    java基础之java中的基本数据类型 学习java一段时间了,使用java也差不多一年多了,可是对于后续的java的学习真的是后劲不足,或者是说懒惰吧,回想一下这一年多,用java最多的就是Andr ...

  2. double类型最大值_Java后端精选基础教程:Java 中的基本数据类型「连载 6」

    数据类型定义了变量可以采用的值,例如,定义变量为 int 类型,则只能取整数值. 在 Java 中有两类数据类型: 1)原始数据类型 2)非原始数据类型 - 数组和字符串是非原始数据类型,将在以后的教 ...

  3. java开发环境及数据类型实验_实验项目1 Java开发环境与语言基础

    <实验项目1 Java开发环境与语言基础>由会员分享,可在线阅读,更多相关<实验项目1 Java开发环境与语言基础(14页珍藏版)>请在人人文库网上搜索. 1.实验项目1 Ja ...

  4. java中的基本数据类型_Java中的基本数据类型和引用数据类型

    数据类型用于帮助确定变量可存放的一组值,以及可对这组特定值执行的操作.Java提供了在所有平台上都普遍支持的多种数据类型. 一.基本数据类型 byte:Java中最小的数据类型,在内存中占8位(bit ...

  5. java中8种数据类型和默认值所占字节数

    java 8种基本数据类型的默认值及所占字节数 通过一段代码来测试一下 8种基本数据类型的默认值 1 package dierge; 2 3 public class Ceshi { 4 int a; ...

  6. java 关键字 sizeof_Java 基本数据类型 sizeof 功能

    这是一个程序,java中没有现成的sizeof的实现,原因主要是java中的基本数据类型的大小都是固定的,所以看上去没有必要用sizeof这个关键字. 实现的想法是这样的:java.lang.Runt ...

  7. Java包装类与基本数据类型的自动 手动装箱与自动 手动拆箱

    Java包装类与基本数据类型的自动 手动装箱与自动 手动拆箱 **自动装箱与拆箱**,实现代码如下: /*** 装箱 : 基本数据类型-----> 包装类* 拆箱: 包装类-------> ...

  8. optional java_使用Java时查看Optional数据类型和一些反模式

    optional java by Mervyn McCreight 默文·麦克莱特(Mervyn McCreight) 使用Java时查看Optional数据类型和一些反模式 (A look at t ...

  9. java final char_java基本数据类型总结 类型转换 final关键字的用法

    java基本数据类型总结 Java数据类型总结 数据类型在计算机语言里面,是对内存位置的一个抽象表达方式,可以理解为针对内存的一种抽象的表达方式.接触每种语言的时候,都会存在数据类型的认识,有复杂的. ...

最新文章

  1. NFS精简版配置方法
  2. 【LeetCode】3月20日打卡-Day5
  3. JavaScript学习(四十九)—构造方法、原型、对象图解
  4. SPI(Service Provider Interface)机制
  5. 7. keras - 模型的保存与载入
  6. python多元线性回归_多元线性回归模型精度提升 虚拟变量
  7. 免校准的电量计量芯片_应物联网而生:合力为HLW8012系列免校准电能计量芯片-测试测量-与非网...
  8. 手机里重力感应器和陀螺仪的区别
  9. 初探 spring data(一)--- spring data 概述
  10. 上海家政圈已经这么卷了吗。。。
  11. 超融合一体机分布式存储
  12. Node:找不到模块Error: Cannot find module
  13. 读书百客:《四时田园杂兴·其一》鉴赏
  14. 【R - 代码书写习惯、代码注释方法笔记】
  15. DevpTips_mouse without borders:去掉某个键,避免和另存为快捷键冲突
  16. 7-1 ATM机类结构设计(二) (100 分)
  17. 广工计算机学院绩点,广工平均学分绩点计算器的教程
  18. 编译优化之 - 向量化优化入门
  19. C语言规范:C89,C90,C95,C99
  20. Summary_HTML中让两个div并排显示

热门文章

  1. LeetCode C语言刷题——day2
  2. 半路出家学php可以吗,PHP半路出家(1)_PHP教程
  3. js 导出excel_Laravel Excel3.0导出
  4. 【2016年第5期】卫星影像大数据情报分析与应用
  5. 字符串模式匹配——最长公共子序列与子串 KMP 算法
  6. 基于套接字SOCKET的及时聊天
  7. 与数论的厮守05:gcd(a,b)=gcd(b,a mod b)的证明
  8. table固定表头滚动
  9. 中国人工智能学会通讯——智能系统测评:挑战和机遇
  10. HTML里面Textarea换行总结