다음 코드는 Linux 시스템에서 pgf90으로 컴파일 할 때 세그먼트 화 오류를 발생시키는 반면, Windows에서 Intel Visual FORTRAN을 사용하면 성공적으로 실행됩니다.Fortran에서 서브 루틴 호출 (세그먼트 오류)
program main
implicit none
integer:: a(3), b(3) ,c(3)
a=[3, 4, 5]
b=[1, 2, 3]
call sub(a,b,c)
write(*,*)'a+b = ',c
end program main
subroutine sub(a,b,c)
implicit none
integer, intent(in)::a(:),b(:)
integer, intent(out)::c(:)
c=a+b
end subroutine sub
설명이 있으십니까?
정수 :: a (3), b (3), c (6)? –
segfault는 어디에서 발생합니까? 모듈을 사용할 수 있습니까? – haraldkl
@JulienMay : 나는 그렇게 생각하지 않는다. 크기가 3 인 배열 두 개를 추가하면 크기가 6이 아닌 크기가 3 인 배열이 반환됩니다. – eriktous