Chinaunix

标题: 关于数据类型的长度和编译器以及机器字长的关系 [打印本页]

作者: yyalalei    时间: 2008-07-11 15:05
标题: 关于数据类型的长度和编译器以及机器字长的关系
我想问下数据类型的长度和编译器以及机器字长之间的关系是怎样的?或者说它们之间是否有关系?

例如一个机器的机器字长是32bit,编译器是32bit,那么数据类型的长度和这个有什么关系呢?
会不会机器字长是64bit,编译器32bit的机器的数据类型的长度就会是上面那个的2倍?


如果大家觉得这个问题很菜也没有关系,给点建议,告诉我去看看什么相关的知识都可以?
谢了,困扰一段时间的问题,实在是太想把它弄明白了

[ 本帖最后由 yyalalei 于 2008-7-11 15:16 编辑 ]
作者: lenovo    时间: 2008-07-11 23:10
数据类型的长度是你的语言所规定的。
作者: nicozhou    时间: 2008-07-11 23:22
原帖由 lenovo 于 2008-7-11 23:10 发表
数据类型的长度是你的语言所规定的。



也要考虑CPU
作者: scutan    时间: 2008-07-11 23:35
和编译器与CPU都有关。
作者: prolj    时间: 2008-07-11 23:49
IA32上和EMT64上的VC只有指针变大了一倍

语言、工具链、CPU都有关系

[ 本帖最后由 prolj 于 2008-7-11 23:53 编辑 ]
作者: prolj    时间: 2008-07-11 23:52
gcc的话

IA32
char 1
short 2
int 4
long 4
long long 8
float 4
double 8
long double 12
pointer 4

EMT64
char 1
short 2
int 4
long 8
long long 8
float 4
double 8
long double 16
pointer 8




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2