![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 03.04.2012
Сообщений: 14
|
![]()
Всем доброе время суток!
Существует программа, написанная на языке FORTRAN в 1992 году. Состоит она из 9 модулей( один главный, который, видимо, подключает все остальные). Передо мной поставлена следующая задача: нужно из этой программы сделать dll ( компилятор compaq visual fortran), чтобы она в дальнейшем подключалась к программе, написанной на BorlandDelphy. Как это можно сделать? вообще можно ли из 9 модулей сделать единую dll? программа большая, написана не мной, и с FORTRAN я пока не очень дружу... За любую помощь заранее огромное спасибо!) |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 948
|
![]()
1. Почему трудно найти "универсала" именно на эти два языка - объяснял здесь (#10).
2. Как делать из Фортрановской stand-alone-программы dll-ку и прицеплять её к C/C++ - показывал здесь. 3. Гугль-запрос типа "Delphi Fortran mixed-language programming" - что-то да принесёт! ![]() |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 03.04.2012
Сообщений: 14
|
![]()
Спасибо за ответ!
Я как раз читала, перед тем как зарегистрироваться на форуме, тему про dll-ку. Мне все же не совсем понятна одна вещь... насколько я понимаю, из фортрановской программы делается подпрограмма-функция зависящая от переменных, которые в самой этой программе имеются? Если этих самых переменных 3 штуки, как в предыдущем примере все более-менее понятно... Ну а если их скажем 100 штук? что делать в этом случае? |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 948
|
![]()
Постараться избавиться от программиста, написавшего список из ста параметров
![]() 1. Структура. 2. Массив. Больше пока ничего для "агрегации" параметров не придумали. Структура - логичнее и потому - понятнее, но ее передавать сложнее. Массив передать элементарно, но за "составляющими" следить сложнее. Последний раз редактировалось Vago; 04.04.2012 в 00:17. |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 03.04.2012
Сообщений: 14
|
![]()
Программиста, который составлял эту программу, уже действительно нет в живых... так что избавлять не придется) в общем, все это действительно страшно, ужасно непонятно...
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 948
|
![]()
"Двадцать лет - немалый строк!". Тех, кто меня учил моей профессии, тоже уже, к сожалению, немного осталось...
Ежели по делу, то, как я понимаю, у Вас в Фортран-программе имеется огроменного размера COMMON (или даже куча COMMON-ов), которые в чистом Фортране заполнялись при вводе, а теперь, как подумаешь, что всё это нужно запихнуть в список параметров, так страшно становится. Как получить доступ к фортрановским общим областям из Си я могу Вам рассказать (или почитайте здесь), про Паскаль не знаю ничего. Дубоватый, но работающий (и на Вашем уровне - приемлемо-безболезненный) вариант: не пытаться ничего пихать в параметры, пускай Фортран как читал их файла, так и читает, а Паскаль, просто, пусть этот файл в нужном формате перед вызовом Фортрана готовит. |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 03.04.2012
Сообщений: 14
|
![]()
Как я уже писала вначале, программа эта состоит из 9 подпрограмм. В начале каждой подпрограммы,в виде комментария, написан список входящих параметров и, собственно, что эти параметры обозначают. Потом уже в тексте, как вы и написали, идет куча COMMONов... Вообще, для чего они нужны? Мне бы как-нибудь на пальцах понять, что с ними делать...
![]() ![]() |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 948
|
![]()
Головная программа имеется?.. Построить из этих девяти подпрограмм exe-шник удалось?.. Запустить его получилось?..
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 03.04.2012
Сообщений: 14
|
![]()
Работающий exe-ик имеется. Вообще программа рабочая, все что нужно считает
![]() |
![]() |
![]() |
![]() |
#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 |