Чтение и запись с прямого доступа к неформатированным файлам через разные компиляторы
У меня есть раздел в программе, которая пишет двоичный файл прямого доступа следующим образом:
open (53, file=filename, form='unformatted', status='unknown',
& access='direct',action='write',recl=320*385*8)
write (53,rec=1) ulat
write (53,rec=2) ulng
close(53)
Эта программа скомпилирована с ifort. Однако я не могу восстановить данные правильно, если я читаю файл данных из другой программы, скомпилированной с помощью gfortran. Если программа, считывающая данные, также скомпилирована в ifort, то я могу правильно восстановить данные. Вот код, читающий файл данных:
OPEN(53, FILE=fname, form="unformatted", status="unknown", access="direct", action="read", recl=320*385*8)
READ(53,REC=2) DAT
Я не понимаю, почему это происходит? Я могу правильно прочитать первую запись обоими компиляторами, это вторая запись, которую я не могу восстановить должным образом, если смешиваю компиляторы.