爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 6008|回复: 2

[求助] 请教如何处理读取位 0x049aa000 时发生访问冲突

[复制链接]

新浪微博达人勋

发表于 2019-9-29 20:52:35 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
报错为:mocbm_ini_acc.exe 中的 0x003deea7 处最可能的异常: 0xC0000005: 读取位置 0x049aa000 时发生访问冲突“mocbm_ini_acc.exe”: 已加载“C:\Windows\SysWOW64\dbghelp.dll”,Cannot find or open the PDB file
mocbm_ini_acc.exe 中的 0x003deea7 处有未经处理的异常: 0xC0000005: 读取位置 0x049aa000 时发生访问冲突

看了一下大概是写入文件29行时报错


密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2019-9-29 20:54:37 | 显示全部楼层
代码为:
program ini_acc
   
    use math

    implicit none

    character*40 file_name
    double precision,allocatable :: q(:,:)
    real             ,allocatable :: acc(:),acc_save(:,:),acc_mean(:)
    real             ,allocatable :: rmse1(:),rmse_save(:,:),rmse_mean(:)
    integer          ,allocatable :: it(:)

    integer :: numsteps
    integer :: ens_size
    integer :: cases
    integer :: i,j,k

    numsteps = 2920
    ens_size = 2000
    cases    = 100

    allocate(q(numsteps,ens_size),it(numsteps))
    allocate(rmse1(numsteps),rmse_save(numsteps,cases),rmse_mean(numsteps))
    allocate(acc(numsteps),acc_save(numsteps,cases),acc_mean(numsteps))

    do i = 1 , cases
        if (i < 10) then
            write(file_name,31) 'out_q_',i
        else if (i > 9 .and. i<100) then
            write(file_name,32) 'out_q_',i
        else
            write(file_name,33) 'out_q_',i
        end if
31 format(a6,i1)
32 format(a6,i2)
33 format(a6,i3)

        open(11,file = 'F:\Visual Studio 2012\Projects\MOCBM_initial\MOCBM_initial\'//file_name, action='read')
        do j = 1 , numsteps
            read(11,41) it(j),q(j,:)
        end do
41 format(i9, 1x, 2001(e12.4, 1x))
        close(11)

!!!!!!!!caculate acc!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
        do j = 2 , numsteps
            call cof(q(1,:),q(j,:),ens_size,acc(j))
            call rmse(q(1,:),q(j,:),ens_size,rmse1(j))
        end do

        acc(1) = 1
        rmse1(1) = 1
        
        !print*, acc(1:20)
        !pause

        acc_save(:,i) = acc(:)
        rmse_save(:,i)= rmse1(:)
        
        !print*, 'succeessful loop'

    end do

    acc_mean = sum(acc_save,dim=2)/cases
    rmse_mean= sum(rmse_save,dim=2)/cases   

    print*, acc_mean(1:20)
    pause

    open(12,file='initial_acc.dat',status='replace',action='write',position='append')
    open(13,file='initial_rmse.dat',status='replace',action='write',position='append')

    do i = 1 , numsteps
        write(12,42) acc_save(:,i)
    end do
    close (12)
    do i = 1 , numsteps
        write(13,42) rmse_save(:,i)
    end do
42 format(100(e12.4,1x))
close(13)

end program ini_acc
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-10-29 21:55:27 | 显示全部楼层
解决了吗?我也遇到了相同的问题
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表