Здравствуйте Вопрос следующий: Существует исполняемый файл, скомпилированный и собранный старым ДОС Фортраном. Необходимо было изменить формат вывода и еще кое что по мелочи. Исходный код есть. Но возникла одна проблема: в коде вызывается подпрограмма, которая содержится в прилинковываемой библиотеке. Исходников к библиотеке нет, есть только сама библиотека, но при попытке подключить ее в проект современного Digital Fortran 6.0, пишется, что файл поврежден. Я пытался извлечь obj-файл нужной мне подпрограммы и собрать с ним: выдывалось сообщение о преобразовании в COFF формат, а потом опять про поврежденность или неправильный формат файла. Пришлось все полностью компилировать и собирать в ДОСе, загружаясь с дискеты! Ощущение после нескольких перезагрузок туда и обратно (из Windows 2000 в ДОС универсальной загрузочной дискеты) - незабываемое. Сам exe-шник, собранный в ДОС, работает под NT5 прекрасно. Так что, можно ли как то вернуть к жизни для современного фортрана старую библиотеку? Есть ли инструменты, читающие старый формат и преобразующие его в новый?
Digital Fortran, наверное, 32-хразрядный и под Windows, а старая библиотека - 16-тиразрядная и под DOS
Безусловно это и так понятно может я недостаточно определенно поставил вопрос? уточняю - как с этим бороться??? библиотека нужна для работы - это не прихоть
Мда... stbzh, чтобы получить ответ, нужно задать правильный вопрос. Хоть бы уточнил, как именно ругается твой фортран, и для какой платформы предназначена новая программа. Хотя, в чем бы ни заключалась проблема, самое разумное решение - воссоздать исходный код библиотеки (или хотя бы нужной подпрограммы) и перекомпилировать ее новым фортраном >
опять же трудно не согласиться Вот как ругается Digital Visual Fortran (из Integrated Development Enviroment 6.0 от MS): file is corrupted or have invalid format или что то в этом роде. Выхожу из системы, загружаю ДОС с дискеты, нахожу на диске стрый фортран (компилятор версии 5, линкер версии 3) и в нем все замечательно компилирую и собираю. полученный exe-файл (подчеркиваю - скомпилированный и собранный под ДОСом в старом фортраном)чудесно работает под Windows 2000 Professional. если бы была возможность найти исходный текст подпрограммы входящей в эту библиотеку - я бы не стал отвлекать людей ерундой. воссоздать код? это сделать снимок памяти во время выполнения и разбирать команды процессора?
Судя по всему, ты безуспешно пытаешься создать виндовую программу. В этом случае поможет только воссоздание кода нужной подпрограммы. И снимок памяти тут совсем не нужен. Если ты знаешь, что делает недостающая подпрограмма, то ты легко сможешь написать новую, делающую то же самое. Ну а если не знаешь, тогда тебе уже ничто не поможет.