![]() |
|
![]() ![]() ![]() |
|
Drozd111 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 15.11.2009 Репутация: нет Всего: нет |
Здравствуйте!!!
Подскажите пожалуйста, как декампелировать dll файл, созданный в Fortran PowerStation v4.0, или хотя бы посмотреть из каких фортрановских файлов его собрали. В какой книге описано создание dll файлов в Fortran (пролистал книги Бартеньева, Стесик, Алгазина, но пока ничего не нашел)?? |
|||
|
||||
FCM |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 461 Регистрация: 30.3.2009 Репутация: 8 Всего: 9 |
1)При создании dll создаются как правило файлы с расширениями lib и exp - посмотри, может в них есть какая-то информация.
2)В Intel Visual Fortran упоминается команда DUMPBIN. Для получения информации об экспортируемых именах, согласно документации, нужно в командной строке запустить следующее: DUMPBIN /exports file.dll Правда, я попробовал - ничего не получилсь пока. Попробуй, может у тебя получится. 3) Если под "декампелировать" подразумевается дизассемблировать, то возможно тебе будет полезна книга К.Касперски Е. Рокко "Искусство дизассемблирования" , но приводимые там примеры по идентификации различных конструкций высокоуровнего языка по "ассемблерному коду" касаются в основном С/C++. Это сообщение отредактировал(а) FCM - 15.11.2009, 19:50 |
|||
|
||||
FCM |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 461 Регистрация: 30.3.2009 Репутация: 8 Всего: 9 |
Создание DLL в Visual Fortran само по себе не так сложно. Нужно выбрать проект соответствующего типа, включить туда исходник с программными единицами, с помощью соответствующих директив указать какие процедуры и данные "'экспортируются". При построении такого проекта будут в частности созданы файлы с расширениями .lib и .dll . Для использования DLL нужно обеспечить доступность lib-файла на этапе компоновки и dll-файла на этапе выполнения. Ну и (насколько помню) для внешней процедуры, импортируемой из DLL, нужно задать явный интерфейс, в котором с помощью соотв. директивы указать, что такая-то импортируется из DLL. Насчет лит-ры: по одной страничке есть, например, в книге Артемова "Fortran: основы программиирования(2007)" и в книге Бартеньева "Visual Fortran: новые возможности(1999)" . Лучше посмотри систему помощи. A за глубоким пониманием DLL возможно следует обратиться к литературе на стыке Windows и С/С++ (например, Рихтер "Windows via C/С++", Щупак "Win32 API"). Это сообщение отредактировал(а) FCM - 17.11.2009, 09:05 |
|||
|
||||
Drozd111 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 15.11.2009 Репутация: нет Всего: нет |
Спасибо большущее, FCM!!!
Вооружившись новыми знаниями попробую еще раз разобраться в dll файлах. |
|||
|
||||
FCM |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 461 Регистрация: 30.3.2009 Репутация: 8 Всего: 9 |
||||
|
||||
Drozd111 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 15.11.2009 Репутация: нет Всего: нет |
Вопрос еще такого рода:
Создал новый проект dll файла, добавил в него необходимые тексты программ, выбрал варианn Release, запустил создание dll-ки, а он мне написал на каждый файл "fatal error C1007" Посмотрел в хелпах, там есть fatal error F1007, но C1007 нет. Не подскажите, что это за ошибка такая??? На чужом компьютере почему-то создал этот же dll файл без проблем. |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Fortran | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |