|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
03.04.2012, 22:33 | #1 |
Пользователь
Регистрация: 03.04.2012
Сообщений: 14
|
Создание FORTRAN dll (Compaq visual fortran) для BorlandDelphi
Всем доброе время суток!
Существует программа, написанная на языке FORTRAN в 1992 году. Состоит она из 9 модулей( один главный, который, видимо, подключает все остальные). Передо мной поставлена следующая задача: нужно из этой программы сделать dll ( компилятор compaq visual fortran), чтобы она в дальнейшем подключалась к программе, написанной на BorlandDelphy. Как это можно сделать? вообще можно ли из 9 модулей сделать единую dll? программа большая, написана не мной, и с FORTRAN я пока не очень дружу... За любую помощь заранее огромное спасибо!) |
03.04.2012, 23:24 | #2 |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 948
|
1. Почему трудно найти "универсала" именно на эти два языка - объяснял здесь (#10).
2. Как делать из Фортрановской stand-alone-программы dll-ку и прицеплять её к C/C++ - показывал здесь. 3. Гугль-запрос типа "Delphi Fortran mixed-language programming" - что-то да принесёт! |
03.04.2012, 23:35 | #3 |
Пользователь
Регистрация: 03.04.2012
Сообщений: 14
|
Спасибо за ответ!
Я как раз читала, перед тем как зарегистрироваться на форуме, тему про dll-ку. Мне все же не совсем понятна одна вещь... насколько я понимаю, из фортрановской программы делается подпрограмма-функция зависящая от переменных, которые в самой этой программе имеются? Если этих самых переменных 3 штуки, как в предыдущем примере все более-менее понятно... Ну а если их скажем 100 штук? что делать в этом случае? |
04.04.2012, 00:10 | #4 |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 948
|
Постараться избавиться от программиста, написавшего список из ста параметров Если он не сумел красиво межпрограммный интерфейс организовать, то у него и в логике, наверняка, путаница, а то и ошибки.
1. Структура. 2. Массив. Больше пока ничего для "агрегации" параметров не придумали. Структура - логичнее и потому - понятнее, но ее передавать сложнее. Массив передать элементарно, но за "составляющими" следить сложнее. Последний раз редактировалось Vago; 04.04.2012 в 00:17. |
04.04.2012, 13:17 | #5 |
Пользователь
Регистрация: 03.04.2012
Сообщений: 14
|
Программиста, который составлял эту программу, уже действительно нет в живых... так что избавлять не придется) в общем, все это действительно страшно, ужасно непонятно...
|
04.04.2012, 13:52 | #6 |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 948
|
"Двадцать лет - немалый строк!". Тех, кто меня учил моей профессии, тоже уже, к сожалению, немного осталось...
Ежели по делу, то, как я понимаю, у Вас в Фортран-программе имеется огроменного размера COMMON (или даже куча COMMON-ов), которые в чистом Фортране заполнялись при вводе, а теперь, как подумаешь, что всё это нужно запихнуть в список параметров, так страшно становится. Как получить доступ к фортрановским общим областям из Си я могу Вам рассказать (или почитайте здесь), про Паскаль не знаю ничего. Дубоватый, но работающий (и на Вашем уровне - приемлемо-безболезненный) вариант: не пытаться ничего пихать в параметры, пускай Фортран как читал их файла, так и читает, а Паскаль, просто, пусть этот файл в нужном формате перед вызовом Фортрана готовит. |
04.04.2012, 14:09 | #7 |
Пользователь
Регистрация: 03.04.2012
Сообщений: 14
|
Как я уже писала вначале, программа эта состоит из 9 подпрограмм. В начале каждой подпрограммы,в виде комментария, написан список входящих параметров и, собственно, что эти параметры обозначают. Потом уже в тексте, как вы и написали, идет куча COMMONов... Вообще, для чего они нужны? Мне бы как-нибудь на пальцах понять, что с ними делать... да, и еще не совсем ясно как все же из 9 подпрограмм сделать единую dll... это вообще возможно?
|
04.04.2012, 14:28 | #8 |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 948
|
Головная программа имеется?.. Построить из этих девяти подпрограмм exe-шник удалось?.. Запустить его получилось?..
|
04.04.2012, 14:36 | #9 |
Пользователь
Регистрация: 03.04.2012
Сообщений: 14
|
Работающий exe-ик имеется. Вообще программа рабочая, все что нужно считает По моим представлениям головная программа имеется, т.к. она использует данные остальных, и именно она выдает конечный результат) но это только мое представление...
|
04.04.2012, 14:46 | #10 |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 948
|
Головная программа имеется, иначе exe-файл не построился бы
Тогда скажите, какою Вы видите роль Делфи после отработки Фортран-программы? Будете строить графики по насчитанным данным? |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
создание fortran dll для c++ | Davlet M | Помощь студентам | 31 | 06.11.2011 10:34 |
Delphi Fortran DLL передача процедуры в качестве параметра | gimlis | Помощь студентам | 1 | 23.03.2011 22:52 |
создание fortran dll для c++ | Davlet M | C++ Builder | 3 | 28.02.2011 11:45 |