我试着在我的Linux桌面上编译一个go程序(Linux桌面4.10.0-28-generic #32-Ubuntu SMP Fri Jun 30 05:32:18UTC 2017 x86_64 GNU/Linux),go version go version go1.8.3 linux/amd64 to arm:
$ GOPATH=/home/xrfang/git/hermes/ GOARM=7 GOARCH=arm go build .
生成可执行文件,但似乎不是ARMv7:
$ file hermes
hermes: ELF 32-bit LSB executable, ARM, EA
我对遗留的Fortran代码有一个问题,可以简化为以下示例:
program main
implicit none
write(6,*) 'Hello!'
end program main
subroutine bigdata()
implicit none
!real*8 AA(50292712)
real*8 AA(50292713)
common /big_common/ AA
end subroutine
请注意,子例程永远不会从程序中调用。在64位机器上编译和运行这段代码会给我带来:
$ gfortran -fsanitize=address main.f ; ./