vc程序正常下出现非法内存读错误, DEBUG下可以运行
VC的程序LINK后, 正常运行EXE文件出现运行时错误, 0X0000010内存不可写(此程序是无问题的, 在其它机器上运行过), 但在DEBUG下可以正常运行.
请那位高手或有相同经历的同志帮忙解决一下, 谢谢了.
补充一下程序本身是没有问题的,这点不用怀疑.
还有在此机器上编译程序时出现了一个问题
/*gmp**screen*/
编译器认为这个注释是有问题的, 但其实按编译器的算法来说应该是没有问题的, 同样在其它机器上测试也没有问题. 改成/*gmpscreen*/后没有问题,通过编译.
机器是2000的操作系统, 新装的, 不过版本比较底, 打了一些补丁.VC++6.0编译器.
[解决办法]
char sBuf[4];
strcpy(sBuf, "abcd ");
虽然有问题,但在debug版本下一般运行不会有问题,因为debug版本时它实际上帮你多预留一个字符的空间,release时它就不会帮你多预留了。
如果是VC6.0的话,release版本也可以调试的,这样设置,
setting-> c/C++-> general里 debug Info设成program database.
setting-> link下debug把debug Info钩上。
这样调试下应该就可以找到问题的原因了。