Ошибка сегментации - неверная ссылка на память с большим количеством строк - PullRequest
0 голосов
/ 03 января 2019

Я получаю эту проблему, так как есть большее количество строк (ndt = 112256), тогда как, когда количество строк меньше (скажем, если ndt = 69888), это работает нормально.

Я попытался увеличить максимальный лимит в первых нескольких строках кода

    real dt,crad,p
    dimension dt(9000000),crad(9000000),p(1000)
    dimension a(90000000)
    integer rvac

    ndt=112256

    open (unit=1,file='x.dat')
    open (unit=4,file='x1.dat')
    do j=1,1000
    p(j)=0.0d0
    enddo
    do i=1,ndt
    read(1,*) dt(i), a(i), crad(i)
    rvac = crad(i)
    if (rvac.le.180)then
    p(rvac)=p(rvac)+1
    endif
    enddo
    sum=0.
    sum1=0.
    do rvac=1,180
    write(4,*) rvac,p(rvac),p(rvac)/ndt
c111    format(f12.5,3x,f12.5)
    enddo
c

    stop
    end

Я получаю ошибку как:

"Программа получила сигнал SIGSEGV: Ошибка сегментации - недопустимая ссылка на память.

Backtrace для этой ошибки:

# 0 0x2B76431D4777

# 1 0x2B76431D4D7E

# 2 0x2B764350BCAF

# 3 0x400BA8 в MAIN__ на prob.f:?

Ошибка сегментации (ядро сброшено) "

Любые предложения приветствуются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...