F*****n 发帖数: 1552 | 1 是不是只要在64BIT的系统下编译出来的软件都是支持64BIT系统的?跟32BIT相比,在
软件开发上有没有特殊的地方? |
a****l 发帖数: 8211 | 2 If everything is done properly, you shouldn't notice any difference and you
shouldn't need to do anything special. However it would be a miracle if
there hasn't been a "smart" programmer that did something "clever" which
breaks the systems in 64bit environment.
【在 F*****n 的大作中提到】 : 是不是只要在64BIT的系统下编译出来的软件都是支持64BIT系统的?跟32BIT相比,在 : 软件开发上有没有特殊的地方?
|
n******t 发帖数: 4406 | 3 不一定,看你的compiler target 是什么了.
【在 F*****n 的大作中提到】 : 是不是只要在64BIT的系统下编译出来的软件都是支持64BIT系统的?跟32BIT相比,在 : 软件开发上有没有特殊的地方?
|
t****t 发帖数: 6806 | 4 it doesn't matter what platform you are compiling on. it matters what TARGET
platform you are compiling to.
【在 F*****n 的大作中提到】 : 是不是只要在64BIT的系统下编译出来的软件都是支持64BIT系统的?跟32BIT相比,在 : 软件开发上有没有特殊的地方?
|
l********a 发帖数: 1154 | |
b***i 发帖数: 3043 | 6 有注意事项,比如要搞清楚下标变量到底是多少位的。比如,你用了32位int x表示某个
char数组的下标,超过2G的时候,这个下标变成负数了,就出错了。
【在 F*****n 的大作中提到】 : 是不是只要在64BIT的系统下编译出来的软件都是支持64BIT系统的?跟32BIT相比,在 : 软件开发上有没有特殊的地方?
|
x****u 发帖数: 44466 | 7 64位机的int也不见得一定有64位。
【在 b***i 的大作中提到】 : 有注意事项,比如要搞清楚下标变量到底是多少位的。比如,你用了32位int x表示某个 : char数组的下标,超过2G的时候,这个下标变成负数了,就出错了。
|
qv 发帖数: 94 | 8 Int64 .net
【在 x****u 的大作中提到】 : 64位机的int也不见得一定有64位。
|
b***i 发帖数: 3043 | 9 你的说法没有什么意义啊?你不是机器人吧?
【在 x****u 的大作中提到】 : 64位机的int也不见得一定有64位。
|
k**********g 发帖数: 989 | 10
Visual Studio里的x64模式,int 预设是 signed 32bit , size_t 预设是 unsigned
64-bit. 标准库里的指针,指针距离(pointer difference / ptrdiff),物件长度(
sizeof),一律转用size_t。
【在 b***i 的大作中提到】 : 你的说法没有什么意义啊?你不是机器人吧?
|
b***i 发帖数: 3043 | 11 大部分系统甚至long都是32位的。基本上初学者用了32位signed int的程序拿到64位机
器上编译成64位代码就会栽在这上面因为没有想到int/long是32位的,而现在数组,文
件都可以开很大。
总之,编几个程序运行一下,就看到问题了。
unsigned
【在 k**********g 的大作中提到】 : : Visual Studio里的x64模式,int 预设是 signed 32bit , size_t 预设是 unsigned : 64-bit. 标准库里的指针,指针距离(pointer difference / ptrdiff),物件长度( : sizeof),一律转用size_t。
|