vs2010设置成X64了,如何还不能编译大于0x7fffffff的数组
vs2010设置成X64了,怎么还不能编译大于0x7fffffff的数组。
请各位大侠指点迷津。
------解决方案--------------------
工程属性中设置缺省栈大小
------解决方案--------------------
之所以不能编译,不是因为内存的缘故,我个人认为是为了防止使用32位有符号数作为数组索引,当这个索引出现上溢的时候,成为负值,去访问不该访问的地方造成很严重的问题。
------解决方案--------------------
这么大的数组应该用的是虚拟内存,所以,得看索引数组的地址是什么类型的,如果是有符号的32位,当然不能访问了
------解决方案--------------------
不是这个原因,我在64位上测试过new 0xFFFFFFFF长度是可以通过的,虽然只是写过几个测试程序,但是64位寻址想来不可能用int32,否则肯定后患无穷。怀疑可能是LZ编译器版本或者系统环境的问题。
请各位大侠指点迷津。
vs2010
------解决方案--------------------
工程属性中设置缺省栈大小
------解决方案--------------------
之所以不能编译,不是因为内存的缘故,我个人认为是为了防止使用32位有符号数作为数组索引,当这个索引出现上溢的时候,成为负值,去访问不该访问的地方造成很严重的问题。
------解决方案--------------------
这么大的数组应该用的是虚拟内存,所以,得看索引数组的地址是什么类型的,如果是有符号的32位,当然不能访问了
------解决方案--------------------
不是这个原因,我在64位上测试过new 0xFFFFFFFF长度是可以通过的,虽然只是写过几个测试程序,但是64位寻址想来不可能用int32,否则肯定后患无穷。怀疑可能是LZ编译器版本或者系统环境的问题。