· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.WIN32 —› ДОС-библиотека не работает с новым линкером :-(

Посл.отвђт Сообщенiе


Дата: Окт 20, 2004 09:12:33

Здравствуйте
Вопрос следующий:
Существует исполняемый файл, скомпилированный и собранный старым ДОС Фортраном.
Необходимо было изменить формат вывода и еще кое что по мелочи. Исходный код есть.
Но возникла одна проблема: в коде вызывается подпрограмма, которая содержится в прилинковываемой библиотеке.
Исходников к библиотеке нет, есть только сама библиотека, но при попытке подключить ее в проект современного Digital Fortran 6.0, пишется, что файл поврежден.
Я пытался извлечь obj-файл нужной мне подпрограммы и собрать с ним: выдывалось сообщение о преобразовании в COFF формат, а потом опять про поврежденность или неправильный формат файла.
Пришлось все полностью компилировать и собирать в ДОСе, загружаясь с дискеты!
Ощущение после нескольких перезагрузок туда и обратно (из Windows 2000 в ДОС универсальной загрузочной дискеты) - незабываемое.
Сам exe-шник, собранный в ДОС, работает под NT5 прекрасно.
Так что, можно ли как то вернуть к жизни для современного фортрана старую библиотеку?
Есть ли инструменты, читающие старый формат и преобразующие его в новый?


Дата: Окт 20, 2004 16:08:34

Digital Fortran, наверное, 32-хразрядный и под Windows, а старая библиотека - 16-тиразрядная и под DOS :)


Дата: Окт 21, 2004 09:02:00

Безусловно
это и так понятно
может я недостаточно определенно поставил вопрос?
уточняю - как с этим бороться???
библиотека нужна для работы - это не прихоть


Дата: Окт 21, 2004 18:17:43

Мда... stbzh, чтобы получить ответ, нужно задать правильный вопрос. Хоть бы уточнил, как именно ругается твой фортран, и для какой платформы предназначена новая программа.
Хотя, в чем бы ни заключалась проблема, самое разумное решение - воссоздать исходный код библиотеки (или хотя бы нужной подпрограммы) и перекомпилировать ее новым фортраном >:)


Дата: Окт 22, 2004 08:56:54

опять же трудно не согласиться
Вот как ругается Digital Visual Fortran (из Integrated Development Enviroment 6.0 от MS): file is corrupted or have invalid format или что то в этом роде.
Выхожу из системы, загружаю ДОС с дискеты, нахожу на диске стрый фортран (компилятор версии 5, линкер версии 3) и в нем все замечательно компилирую и собираю. полученный exe-файл (подчеркиваю - скомпилированный и собранный под ДОСом в старом фортраном)чудесно работает под Windows 2000 Professional.
если бы была возможность найти исходный текст подпрограммы входящей в эту библиотеку - я бы не стал отвлекать людей ерундой.
воссоздать код? это сделать снимок памяти во время выполнения и разбирать команды процессора?


Дата: Окт 22, 2004 18:16:15

Судя по всему, ты безуспешно пытаешься создать виндовую программу. В этом случае поможет только воссоздание кода нужной подпрограммы. И снимок памяти тут совсем не нужен. Если ты знаешь, что делает недостающая подпрограмма, то ты легко сможешь написать новую, делающую то же самое. Ну а если не знаешь, тогда тебе уже ничто не поможет.


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.068