gfortran 编译器给出分段错误
gfortran compiler gives segmentation fault
我在 运行 fortran 代码上遇到了问题,所以我在这里尝试了一个示例代码:
https://gcc.gnu.org/onlinedocs/gcc-8.4.0/gfortran/ICHAR.html
program read_val
integer value
character(len=10) string, string2
string = '154'
! Convert a string to a numeric value
read (string,'(I10)') value
print *, value
! Convert a value to a formatted string
write (string2,'(I10)') value
print *, string2
end program read_val
我做到了
gfortran -o hello3 hello3.f -g3 -fcheck=all -Wall -fbacktrace
它没有给我任何警告或错误。然而,
./hello3
失败
Program received signal SIGSEGV: Segmentation fault - invalid memory reference.
Backtrace for this error:
#0 0x103eab35c
#1 0x103eaa6f3
#2 0x7fff7376cb5c
#3 0x103fef340
#4 0x103fefd2d
#5 0x103fed78f
#6 0x103ea5cca
#7 0x103ea5e96
Segmentation fault: 11
不知何故,我觉得我的 gfortran 编译器无法正常工作。我不熟悉 Mac OS,感觉 Xcode/Anaconda/etc 搞砸了我的系统。
我正在使用 GNU Fortran(自制 GCC 9.3。0_1)9.3.0,MacOS Mojave 10.14.6。
gfortran 路径是 /usr/local/bin/gfortran
目前我的 gfortran 来自 'brew install gcc'。我也尝试从 https://github.com/fxcoudert/gfortran-for-macOS/releases 手动下载,但也没有用。
据我所知代码没有问题,它符合要求并在我的系统上正确运行
ian@eris:~/work/stack$ cat busted.f90
program read_val
integer value
character(len=10) string, string2
string = '154'
! Convert a string to a numeric value
read (string,'(I10)') value
print *, value
! Convert a value to a formatted string
write (string2,'(I10)') value
print *, string2
end program read_val
ian@eris:~/work/stack$ gfortran -std=f2008 -Wall -Wextra -fcheck=all -g busted.f90
ian@eris:~/work/stack$ ./a.out
154
154
据我所知,您对 gfortran 的灌输已损坏。但请始终使用隐式 None
我在 运行 fortran 代码上遇到了问题,所以我在这里尝试了一个示例代码: https://gcc.gnu.org/onlinedocs/gcc-8.4.0/gfortran/ICHAR.html
program read_val
integer value
character(len=10) string, string2
string = '154'
! Convert a string to a numeric value
read (string,'(I10)') value
print *, value
! Convert a value to a formatted string
write (string2,'(I10)') value
print *, string2
end program read_val
我做到了
gfortran -o hello3 hello3.f -g3 -fcheck=all -Wall -fbacktrace
它没有给我任何警告或错误。然而,
./hello3
失败Program received signal SIGSEGV: Segmentation fault - invalid memory reference.
Backtrace for this error:
#0 0x103eab35c
#1 0x103eaa6f3
#2 0x7fff7376cb5c
#3 0x103fef340
#4 0x103fefd2d
#5 0x103fed78f
#6 0x103ea5cca
#7 0x103ea5e96
Segmentation fault: 11
不知何故,我觉得我的 gfortran 编译器无法正常工作。我不熟悉 Mac OS,感觉 Xcode/Anaconda/etc 搞砸了我的系统。
我正在使用 GNU Fortran(自制 GCC 9.3。0_1)9.3.0,MacOS Mojave 10.14.6。
gfortran 路径是 /usr/local/bin/gfortran 目前我的 gfortran 来自 'brew install gcc'。我也尝试从 https://github.com/fxcoudert/gfortran-for-macOS/releases 手动下载,但也没有用。
据我所知代码没有问题,它符合要求并在我的系统上正确运行
ian@eris:~/work/stack$ cat busted.f90
program read_val
integer value
character(len=10) string, string2
string = '154'
! Convert a string to a numeric value
read (string,'(I10)') value
print *, value
! Convert a value to a formatted string
write (string2,'(I10)') value
print *, string2
end program read_val
ian@eris:~/work/stack$ gfortran -std=f2008 -Wall -Wextra -fcheck=all -g busted.f90
ian@eris:~/work/stack$ ./a.out
154
154
据我所知,您对 gfortran 的灌输已损坏。但请始终使用隐式 None