i****n 发帖数: 42 | 1 本人写了一个C程序,编译完全没问题,运行头4个run也得到正确的结果,但第5个run
却出现如下问题:
a.exe application error
The instruction at 0x0041445f referenced memory at 0x00000000. The memory
could not be written.click OK to terminate the program.
a.exe是编译后的执行程序。
更令人费解的是:如果单独运行第5个run,或者4、5两个run则可以得到正确的结果。
我有点怀疑是否因为动态分配内存没有及时释放,但反复检查没有问题。
请教各位大牛如何解决这个问题。 |
r***u 发帖数: 241 | 2 不释放内存只是泄漏点内存,不会出现这个错误。你在debugger里面跟踪一下试试,看
看哪里指针/数组出错了。如果在linux上面,可以用valgrind跑一下,不过你这是
windows。
参见http://csclub.uwaterloo.ca/contest/starter_packages/haskell_starter_package.zip
run
【在 i****n 的大作中提到】 : 本人写了一个C程序,编译完全没问题,运行头4个run也得到正确的结果,但第5个run : 却出现如下问题: : a.exe application error : The instruction at 0x0041445f referenced memory at 0x00000000. The memory : could not be written.click OK to terminate the program. : a.exe是编译后的执行程序。 : 更令人费解的是:如果单独运行第5个run,或者4、5两个run则可以得到正确的结果。 : 我有点怀疑是否因为动态分配内存没有及时释放,但反复检查没有问题。 : 请教各位大牛如何解决这个问题。
|
s*****g 发帖数: 5159 | 3 很可能是你的某些动态变量没有初始化,下次再分配内存的时候里面有原始的值。
run
【在 i****n 的大作中提到】 : 本人写了一个C程序,编译完全没问题,运行头4个run也得到正确的结果,但第5个run : 却出现如下问题: : a.exe application error : The instruction at 0x0041445f referenced memory at 0x00000000. The memory : could not be written.click OK to terminate the program. : a.exe是编译后的执行程序。 : 更令人费解的是:如果单独运行第5个run,或者4、5两个run则可以得到正确的结果。 : 我有点怀疑是否因为动态分配内存没有及时释放,但反复检查没有问题。 : 请教各位大牛如何解决这个问题。
|