>A. 简介</P>
>B. 设计期间的AVs</P>
>a. 硬件原因</P>
>b. 软件原因</P>
>c. 库的错误</P>6 }' C( x; `+ o; l
>d. 升级C++Builder</P>
>C. 运行期间的AVs</P>1 U, S6 n; R1 B$ y% A. d( h
>a. 程序退出时发生AVs</P>
>b. 将你的指针设为空指针!</P>! x& D1 l) w+ B" S/ X+ @8 q/ Q
>c. 使用IDE管理!</P>
>d. 在Form中使用caFree!</P>5 h6 v! v* q( p( l$ k) _
>e. 随机AVs(非退出)</P>
>D. 用户提出的更多建议 </P>8 ^! g% d7 l( z& ~1 R, T6 }2 C/ b
>简介</P>
>访问冲突(AVs)是Windows编程时发生的最麻烦的错误之一。尽管很难用一篇文章来解释清楚所有可能导致AVs的原因,我将尽可能的解释所有我所知道的原因。若您有本文中未提及的AVs的解决办法,请Email给作者。您的经验将加到本文中。</P>
>C++Builder中发生的AVs主要有两种形式。设计期间的AVs和运行期间的AVs。我们开始讨论吧。</P>
>设计期间的AVs</P>. F# `) y3 I# w6 c' v
>设计期间的AVs最容易捕捉到,但靠您自己很难真正除掉它。它们通常产生于编译时、Builder启动和关闭时,或者几乎是随机的。让我们先讨论以下这些已知的原因。</P>5 o, q" q1 {8 Y. c) M0 j2 T: D; M) r
>硬件原因</P>
>某些显卡、双处理器主板、和声音设备会导致C++Buider中的AVs。为什么?您机器中的每一块板卡都带有设备驱动。由于制造商、Windows版本、你使用的C++Builder版本的不同而存在兼容问题,会导致AVs问题。解决这种情况的步骤如下:</P>; o/ X4 R3 @/ n/ ~' N2 V
>o 总是使用您系统部件的最新驱动程序。若您使用随Windows所带的驱动程序的话,你应从制造商那儿获取最新的升级版本。</P>0 t+ l( A6 M' d$ _4 R! T3 n, S
>o 访问Borland.Com和DejaNews.Com上的新闻组,查找关于您的硬件设备的主题。某些显卡已知有兼容问题。您可能需要更换硬件。使用人所共知的稳定且成熟的厂商提供的硬件是个好主意。Matrox就是个显卡的好例子。</P>% o7 F+ @- J u0 k
>o 检查您所安装的设备之间有没有冲突是个必须的步骤。</P>
>o 对一些古怪的显卡驱动程序来说,有时调低分辨率有助于稳定。</P>
>o 若您使用双处理器的话,确保两个处理器的step revision相同,就是要用完全一样的两个芯片啦。</P>
>软件原因</P>: e o7 W$ `$ X4 R" e
>尽管Windows是Intel体系中使用最广泛的操作系统,但它的历史是充满BUG、不稳定的。有许多方法能帮您拥有一个更稳定的编程工作站。按以下步骤将帮你预防此类AVs的发生。 </P>( G4 x" w: i; Y6 B4 ~
>o 禁用装有Internet Explorer (IE) 4.x或更高版本的Windows工作站上的Active Desktop。尽管这个功能可以让您定制自己的桌面,但同时也导致许多应用程序产生问题。</P>
>o 尽管Windows 9X更大众化,NT4(NT5)提供了几乎是所有Windows平台中最稳定的环境。我想强调这应是C++Builder程序员选择的环境。</P>4 c3 e/ o* V% D8 n/ v8 b1 j
>o 确保安装了最新的NT系统补丁(SPx),每次发布的补丁都让您的NT系统变得更稳定。</P>, Z' b' j6 ?# }1 L% M3 g| 欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) | Powered by Discuz! X2.5 |