3DMGAME论坛
标题:
辐射3汉化补丁跳出的一点猜测
[打印本页]
作者:
frankwoods
时间:
2008-12-18 09:26
标题:
辐射3汉化补丁跳出的一点猜测
我用的是原版,一个小时内跳出4次,以前不用汉化时从没跳出过
每次的跳出的时所做的事情都不同,有的是刚load一个场景,有的是开pipboy
但是每次的错误代码都是c0000005。
稍微查询了一下c0000005是 STATUS_ACCESS_VIOLATION的意思。就是程序里函数调用不该调用的内存位置
网上有个了c0000005错误例子
MyFunction (char * StringParam) {
int nlen; // declare an integer variable
nlen = strlen(StringParam);
<more code>
}
这里面strlen函数是用来统计StringParam的长度的,而这个函数的做法是搜索StringParam的一个个字节,找到0就返回。因为默认字符串的结尾要有一个0的。但是如果没有0,则strlen函数会继续搜索下去,直到搜索到内存范围外,。这个内存范围是操作系统分配给辐射3或者汉化补丁的。这样,操作系统检测到这个操作,就会报错,因为每个程序不应该读取其他程序的内存空间。
基本上,这个是程序的bug,不知道是辐射3本身,还是汉化补丁,还是某个版本的显卡驱动的问题。
一些诸如降低配置呀,整理内存之类的方法其实都不本质。理论上windows有虚拟内存,内存再不够最多会慢不至于会出这样的错误。
我的配置是
T9300 CPU
4GB DDR2 667 RAM
NVIDIA 8800M-GTX 512MB
Vista x64 家庭高级版
Fallout3 默认各项设置最高
如果其他人有类似的问题,建议解决办法有
换操作系统,换显卡驱动,换游戏版本。
那个Skullptura 的高压版是对游戏的材质做了很大替换,还有降低音质之类的,可以换换。
显卡驱动也可以换换,说不定能解决问题,我就懒得折腾了等下一版汉化补丁了
欢迎光临 3DMGAME论坛 (https://bbs.3dmgame.com/)
Powered by Discuz! X3.2