返回目录:游戏资讯
ACCESS_VIOLATION的意思是您的程序想从一些非法的地址空间读取或向其中写入内容。一般例如指针、数组下标越界都会造成这个错误的。造成这个问题的原zhidao因基本上是因为数组开得太小了。不过数组开得小这是个相对的概念,比如你的程序必须要开int a[100000]这样大的数组,如果你把它在局部变量中开肯定会被编译器报错,因为局部变量的空间是很小的,它就是一个很小的栈。遇到这样的你必须将它开回成全局变量才不会被编译器报错。但是如果你认为哪个程序需要开int a[10000000]这样的数组,说明这题肯定有简单的方法,因为acm中每题都是有memory限制的,答你数组开太大,通过了编译器,但是肯定通不过online judge,结果肯定是Memory Limit Exceeded。所以这个你要具体分析。
ACCESS_VIOLATION
是栈溢出的意思
这证明你的程序在运行的过程中爆栈了 你应该注意一下数据的范围和你程序的严谨性
意思是“非法访问”。
Access Violation常常在计算机用户运行的程序试图存取未被指定使用的存储区时遇到。比如:
“Access violation at address 00000000.Read of adress 00000000.意思是:在地址 00000000 存取违反,禁止对地址00000000的读取。
或者用户在计算机运行.exe应用程序的时候,有时候程序运行不起来,遇到提示:“access violation at address xxxxxxxxx ”。
扩展资料:
Access Violation(非法访问)错误的防治方法
一、硬件原因
在启动或关闭Delphi IDE以及编译一个Delphi工程时容易出现设计期的Access Violation。在计算机运行中出现Access Violation信息可能由各种各样的原因引起,包括系统BIOS、操作系统或者是硬件驱动线,有些声卡、显卡、网卡实际上也会导致这种错误。
计算机里的每一块卡都有它的设备驱动程序。对于不同的制造商、不同版本的Windows或者不同版本的Delphi都可能会遇到不同的问题。如下有助于解决遇到的这些问题:
1、按照必要的步骤来证实安装的驱动程序之间没有冲突。
2、降低显示分辨率可能会使某些古怪的显卡驱动程序稳定一些。
3、如果使用双处理器的主板,则保证对每个处理器的修改步骤一样。
4、对于计算机上的所有硬件注意使用最新的驱动程序。
二、软件原因
尽管Intel的计算机中Windows是最流行的操作系统,由于Windows系统天生的脆弱性和BUG,应用程序的误操作可能导致操作系统的迅速瘫痪。如下可以防止某些Access Violation的发生:
1、确保对于Windows NT/2000已经安装了最新的service pack。每次安装完新版的service pack,你会发现机器变得稳定了。
2、为你使用的各种版本的Delphi装上当前的更新或补丁(e68a847a686964616f337BDE、ADO……),这是提前预防错误的好办法。尽量使用最新的Delphi补丁——Access Violation错误数量尤其是设计期的错误数会大大减少。