大家都是从哪里得知各款cpu的各种数据类型长度的?
时间:10-02
整理:3721RD
点击:
Datasheet里面也没看到过。就算sizeof了貌似也没什么用。
由于uC/OS-II里需要用来typedef unsigned int INT16U这种;
由于uC/OS-II里需要用来typedef unsigned int INT16U这种;
看看对应各款cpu的C编译器的说明吧。
移植uc/os-ii到指定的cpu,就要看cpu的指令集以及其对应的C编译器中对应的定义。
如果C编译器中定义unsigned int为16位的,你给出的如下定义就是正确的
typedef unsigned int INT16U;
如果C编译器对unsigned int的定义是8位的,上述的定义就不对,你应当定义为:
typedef unsigned int INT08U;
uc/os-ii自身的可移植性中对数据类型的统一定义是很关键的一点,通常遵从可移植性的做法是,按照编译器对各种基本数据类型的定义,找到uc/os-ii中的统一的数据类型定义,然后用typedef进行关联,INT08/INT08U~INT64/INT64U,还有一些与CPU相关的,与指针大小相关的,都需要定义。
数据类型长度跟cpu没有关系吧。跟c语言有关,只是有的cpu最小长度不是8位
大概是数据手册里面都会有的吧