C/C++教程

C++ Builder程序运行出现Access Violation错误的常见原因

本文主要是介绍C++ Builder程序运行出现Access Violation错误的常见原因,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

程序运行access violation出错很经常的一个原因是指针未初始化,比如一个对象还没有new创建出来或者已经释放(内存被别的占用),却通过指针访问对象的成员函数(vcl对象的属性其实内部也是调用了成员函数)。

另一种常见情况是一个对象二次delete,比如删除一个vcl的父控件(如容器控件Panel或者Form窗体),它会自动销毁所有的子控件,然后你又去删除一个子控件,二次删除造成access violation。这种情况如果一定要手动delete,可以先delete子控件后父控件。

还有,数组访问越界也可能会出现access violation错误。

【DelphiGuy】查看程序运行时候的内存分配及释放情况,可以启用code guard,Tools->Code Guard Configuration,enable,然后save all,build,运行。

这篇关于C++ Builder程序运行出现Access Violation错误的常见原因的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!