WIN7 64 位旗舰版 原本正常运行的项目,由于更改项目属性中的目标平台导致莫名其妙的问题,将原本分配过的内存空间变为NULL;
在项目中出现有违常理的错误,可能与项目中属性设置有关
例如自己在项目中遇到的问题
1 byte[] tempData = new byte[256];
2 其他代码(没有调用过tempData)
3 其他代码(没有调用过tempData)
4 tempData[0] = 1;
编译没有问题,当程序运行到代码4 行时 抛出未将tempData实例化异常 ,当使用断点调试运行,跟踪发现当运行完第二条代码后,tempData就变为null了。同时也启示我们,尽可能晚的,给变量申请内存空间,即当马上用到变量是,才分配,不然有可能出现上面的情况,内存被异常的回收。
解决方案
将项目属性中的生成中的目标平台由AnyCPU 更改为CPU x86
备注:在win7 32 系统上没有出现上述异常