[ZLG-MCU] 关于int char long等类型在iar内存空间分配问题..

[复制链接]
5292|6
 楼主| fjxsos 发表于 2008-5-26 17:53 | 显示全部楼层 |阅读模式
int 在8bit mcu占16bit ,但在luminary 32bit中是占用多少bit? 是16bit?
zlgarm 发表于 2008-5-27 09:09 | 显示全部楼层

32位

int&nbsp;在Luminary中是32位。<br /><br />(zlgarm_zsg)
zlgmcu 发表于 2008-5-27 11:51 | 显示全部楼层

数据类型长度在C语言标准里是有约定的

在不同CPU上,C语言对各种数据类型规定的长度也各不相同:<br /><br />char:通常是8位,但在某些CPU里也可能是16位<br />short:一般是16位<br />int:在8位、16位机当中是16位,在32位机当中是32位<br />long:一般是32位<br /><br />因为int型长度可变,所以要写一个具有较好移植性的程序时,程序员往往更喜欢用short或long来代理int。<br /><br />(zlgmcu_wdx)
ATmega32L 发表于 2008-5-27 13:41 | 显示全部楼层

用 C语言标准整型

#include&nbsp;&ltstdint.h&gt<br /><br />int8_t;<br />uint8_t;<br />int16_t;<br />uint16_t;<br />int32_t;<br />uint32_t;<br />int64_t;<br />uint64_t;
HWM 发表于 2008-5-27 13:49 | 显示全部楼层

to 4楼:这些和标准没关系,最终还得在stdint.h中定义。

但这样用可以增加程序的可移栽性,只要更改stdint.h中的相关定义即可。<br />
ATmega32l 发表于 2008-5-27 20:42 | 显示全部楼层

stdint.h是标准C规定的头文件。

stdint.h是标准C规定的头文件。<br /><br />就像stdlib.h,stdio.h一样。<br />
 楼主| fjxsos 发表于 2008-5-30 09:35 | 显示全部楼层

关于int char long等类型在iar内存空间分配问题..

Thanks&nbsp;各位前辈的指点
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

8

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部