由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - C里的int和long有区别吗
相关主题
32/64编程怎么做才好呢请教一个排序的问题。
相关话题的讨论汇总
话题: long话题: int话题: 区别话题: 32话题: 编译器
进入JobHunting版参与讨论
1 (共1页)
t*********h
发帖数: 941
1
GCC里int和long都是32位的 貌似用起来没人和区别阿
w****a
发帖数: 710
2
看什么样的编译器了,TurboC那种16位编译器,int是两个字节long是四个字节。
32位的编译器,int=long=四字节,long long八字节。
64位的编译器,int四字节,long八字节,long long也是八字节。
l*******b
发帖数: 2586
3
64位现在貌似是long long
话说long真的不知道有什么区别了。。。大神给科普下
t*********h
发帖数: 941
4
搜了艘貌似是 我一直以为我的linux里的gcc默认是64-bit 仔细看了看好像不是 怪不
得好些int overflow改称long没有任何效果

【在 w****a 的大作中提到】
: 看什么样的编译器了,TurboC那种16位编译器,int是两个字节long是四个字节。
: 32位的编译器,int=long=四字节,long long八字节。
: 64位的编译器,int四字节,long八字节,long long也是八字节。

d******e
发帖数: 164
5
这个和平台和实现相关。C标准里面没有指定。

【在 t*********h 的大作中提到】
: GCC里int和long都是32位的 貌似用起来没人和区别阿
D***n
发帖数: 6804
6
有很多区别:
16位下的就不谈了。
Windows 下使用LLP64模型,int/long 都是32位的。
Unix下大部分使用LP64模型,int=32位,long=64位。
如果你使用long作为函数参数,那么函数的demagling 是一个问题,C++ ABI里面long
是一个独立的符号名。很多typedef的基础是int或者long,比如SInt32 32位定义为
long,64位定义为int,这样你的函数可能在不同环境下会有冲突。

【在 t*********h 的大作中提到】
: GCC里int和long都是32位的 貌似用起来没人和区别阿
1 (共1页)
进入JobHunting版参与讨论
相关主题
32/64编程怎么做才好呢请教一个排序的问题。
相关话题的讨论汇总
话题: long话题: int话题: 区别话题: 32话题: 编译器