首先我们来看MD4中的对于数据类型的定义:
然后我们跳转到其定义处查看对其的定义:
typedef unsigned long u32;
typedef unsigned short u16;
typedef unsigned char u8;
/*首先我们来认识typedef,这是用来为复杂的声明定义简单的别名,也就是说,我们可以用它来给我们的数据类型来进行定义。*/
/* 然后我们再来看之后的unsigned,unsigned用于限定后面的为无符号类型,如果后面不加什么的话,就默认为unsigned int。*/
/*unsigned long 无符号长数据 unsigned char 无符号字符型 unsigned short无符号短数据*/
/*u8,u16,u32都是C语言数据类型,分别代表8位,16位,32位长度的数据类型,一个字节是8位。*/
/*所以u8是1个字节,u16是2个字节,u32是4个字节。*/
在MDK5中,我们可以看到其对于数据类型的定义是大致与MDK4相同的。
typedef unsigned char uint8_t;
typedef unsigned short int uint16_t;
typedef unsigned int uint32_t;
typedef unsigned __INT64 uint64_t;
通过与上面对比,我们就可以知道,在MDK5中,对于MDK中的一些数据类型的定义有了些许改动,如在MDK4中用u8,在MDK5中用uint8_t,这样是为了让程序更加统一规范化,其后面的"t"应该是为了辨识其是使用typedef所定义的数据类型,让其余开发人员所认识,不至于搞混。