Дело в том, что есть консольная прога на фортране, к которой нужно еприкрутить графический интерфейс под WIn32.
Сделать это надо на Visual C++.
Может кто сталкивался с подобной задачей, подскажите плизз как ее решить наименьшей кровью?
10.01.04 13:09: Перенесено модератором из 'C/C++' — ПК
OK>Дело в том, что есть консольная прога на фортране, к которой нужно еприкрутить графический интерфейс под WIn32. OK>Сделать это надо на Visual C++. OK>Может кто сталкивался с подобной задачей, подскажите плизз как ее решить наименьшей кровью?
смотря как работает консольный интерфейс.
Веру-ю-у! В авиацию, в научную революци-ю-у, в механизацию сельского хозяйства, в космос и невесомость! Веру-ю-у! Ибо это объективно-о! (Шукшин)
Здравствуйте, dad, Вы писали:
OK>>Дело в том, что есть консольная прога на фортране, к которой нужно еприкрутить графический интерфейс под WIn32. OK>>Сделать это надо на Visual C++. OK>>Может кто сталкивался с подобной задачей, подскажите плизз как ее решить наименьшей кровью?
dad>смотря как работает консольный интерфейс.
Пока к сожалению сам в глаза программы не видел, начальство говорит, что прога цепляет из текстового файлика данный инициализации, долго считает и в файл же скидывает результаты.
OK>>>Дело в том, что есть консольная прога на фортране, к которой нужно еприкрутить графический интерфейс под WIn32. OK>>>Сделать это надо на Visual C++. OK>>>Может кто сталкивался с подобной задачей, подскажите плизз как ее решить наименьшей кровью?
dad>>смотря как работает консольный интерфейс.
OK>Пока к сожалению сам в глаза программы не видел, начальство говорит, что прога цепляет из текстового файлика данный инициализации, долго считает и в файл же скидывает результаты.
ну тогда зависит от того какой интерфейс тебе нужен .. а если через файлы то не вопрос.. запрашиваешь данные кладешь в файл запускаешь процесс, дожидаешься окончания, парсишь результаты выдаешь пользователю.
еще зависит от rкомпилятора фортрана, может возможна более тесная интеграция , прямой вызов из це функций фортрана, поискать надо в гугле mixing c++ fortran , call fortran from c++
Веру-ю-у! В авиацию, в научную революци-ю-у, в механизацию сельского хозяйства, в космос и невесомость! Веру-ю-у! Ибо это объективно-о! (Шукшин)
OK>>Пока к сожалению сам в глаза программы не видел, начальство говорит, что прога цепляет из текстового файлика данный инициализации, долго считает и в файл же скидывает результаты.
dad>ну тогда зависит от того какой интерфейс тебе нужен .. а если через файлы то не вопрос.. запрашиваешь данные кладешь в файл запускаешь процесс, дожидаешься окончания, парсишь результаты выдаешь пользователю.
Ну интерфейс обычный — окошечки ввода данных, да вывода графиков и результатов.
Через файлы эт в принципе понятно, но очень некрасиво.
Поэтому собственно и спрашивал, что может кто что лучше знает
dad>еще зависит от rкомпилятора фортрана, может возможна более тесная интеграция , прямой вызов из це функций фортрана, поискать надо в гугле mixing c++ fortran , call fortran from c++
А вот за это спасибо, полез искать. Если бы удалось прикурутить прогу через вызовы то это было бы хорошо
Re: Подключение проги на фортране
От:
Аноним
Дата:
10.01.04 14:57
Оценка:
Здравствуйте, o.Kabani, Вы писали:
OK>О уважаемый All!
OK>Дело в том, что есть консольная прога на фортране, к которой нужно еприкрутить графический интерфейс под WIn32. OK>Сделать это надо на Visual C++. OK>Может кто сталкивался с подобной задачей, подскажите плизз как ее решить наименьшей кровью?
Я, когда возникла подобная проблема, просто сделал конвертнул исходники f2c. Ещё, опять же, если доступны исходники, можно подцепить к программе на С++ как .obj файл.
Здравствуйте, o.Kabani, Вы писали:
OK>>>Пока к сожалению сам в глаза программы не видел, начальство говорит, что прога цепляет из текстового файлика данный инициализации, долго считает и в файл же скидывает результаты.
Вот это самое важное и есть.
Если прога уже скомпилена в ехе и исходников нет — то просто в С++интерфейсе ее надо запускать средствами API.
Если это модуль-подпрограмма obj, то надо прилинковывать. Тут вопрос, передаются ли параметры и сколько. Насколько я помню, модель передачи параметров в фолртране и в С совпадала. Тогда из С-программы просто вызываешь как подпрограмму.
Если же исходники есть, то проще переписать на С прямо вручную. А то еще просто написать (или использовать готовый) конвертер. Я помнится так и делал, пракда между разными версиями фортрана. Они правлда отличались как паскаль от С. Но ничего — за недельку написал и отладил.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[6]: Подключение проги на фортране
От:
Аноним
Дата:
10.01.04 17:48
Оценка:
Здравствуйте, LaptevVV, Вы писали:
LVV>Здравствуйте, o.Kabani, Вы писали:
OK>>>>Пока к сожалению сам в глаза программы не видел, начальство говорит, что прога цепляет из текстового файлика данный инициализации, долго считает и в файл же скидывает результаты. LVV>Вот это самое важное и есть. LVV>Если прога уже скомпилена в ехе и исходников нет — то просто в С++интерфейсе ее надо запускать средствами API. LVV>Если это модуль-подпрограмма obj, то надо прилинковывать. Тут вопрос, передаются ли параметры и сколько. Насколько я помню, модель передачи параметров в фолртране и в С совпадала. Тогда из С-программы просто вызываешь как подпрограмму. LVV>Если же исходники есть, то проще переписать на С прямо вручную. А то еще просто написать (или использовать готовый) конвертер. Я помнится так и делал, пракда между разными версиями фортрана. Они правлда отличались как паскаль от С. Но ничего — за недельку написал и отладил.
Четсно говоря, лениво периписывать прогу, ибо в фортране не гугу, и изучать нехочется. А самое главное исходников скорее всего нет (
Прога же серьезная, что-то там жестокое считае в космических траекториях.
А>Четсно говоря, лениво периписывать прогу, ибо в фортране не гугу, и изучать нехочется. А самое главное исходников скорее всего нет ( А>Прога же серьезная, что-то там жестокое считае в космических траекториях.
не надо переписывать, даже если есть исходники — фортран специально для расчетов придуман, на кой ляд переписывать то?
если есть исходники собирай в dll дальше как обычно, может там уже есть dll ? . либо, как уже советовали
прилинковать напрямую vs никаких проблем не должно быть.
короче ждем известий
Веру-ю-у! В авиацию, в научную революци-ю-у, в механизацию сельского хозяйства, в космос и невесомость! Веру-ю-у! Ибо это объективно-о! (Шукшин)
dad>>ну тогда зависит от того какой интерфейс тебе нужен .. а если через файлы то не вопрос.. запрашиваешь данные кладешь в файл запускаешь процесс, дожидаешься окончания, парсишь результаты выдаешь пользователю.
OK>Ну интерфейс обычный — окошечки ввода данных, да вывода графиков и результатов.
вот это и плохо — если она выдает результаты в слабо структурированой, форматированой форме — распарсить их будет весьма проблематично..
Веру-ю-у! В авиацию, в научную революци-ю-у, в механизацию сельского хозяйства, в космос и невесомость! Веру-ю-у! Ибо это объективно-о! (Шукшин)
dad>не надо переписывать, даже если есть исходники — фортран специально для расчетов придуман, на кой ляд переписывать то? dad>если есть исходники собирай в dll дальше как обычно, может там уже есть dll ? . либо, как уже советовали dad>прилинковать напрямую vs никаких проблем не должно быть.
dad>короче ждем известий
В общем, УРААА, наконецто я заполучил этого жуткого монстра. Удалось даже откопать в старых завалх исходники этой проги!!! В общем все круто!
Хотя не совсем все хорошо ((
Пните меня плиз в направлении что читать по dll, а то как-то не приходилось самому никогда dll'ки собирать ((
Что для этого надо.
Зарание большое спасибо всем ответившим, и ссори за ламеризм
OK>>Где? OK>Упс, что-то я после бессоной ночи туплю. OK>В общем совсем забыл про вызов fortran'а из С. OK>Но всетаки, на будующее, где бы доходчиво почитать про DLL
Я не знаю Я пользуюсь msdn. У тебя его нет? Если нет, то купи. Для программирования под виндовс он необходим.
Так же, поищи или задай вопрос в форуме по winapi || mfc. Смотря, что ты планируешь использовать.
Веру-ю-у! В авиацию, в научную революци-ю-у, в механизацию сельского хозяйства, в космос и невесомость! Веру-ю-у! Ибо это объективно-о! (Шукшин)
OK>Упс, что-то я после бессоной ночи туплю. OK>В общем совсем забыл про вызов fortran'а из С.
OK>Но всетаки, на будующее, где бы доходчиво почитать про DLL
Блин, а там не все так просто , как казалось
компилятор 5.1 фортрана не поддерживает многозадачность, нужен какой то патч.. и т.д.
к тому же я не нашел компилятора фортрана в своей студии.. Есть 5.1 для дос, есть visual fortran
вообщем, надо смотреть чем конкретно ты располашаешь (студия какая, что будешь для интерфейса использовать?)
Веру-ю-у! В авиацию, в научную революци-ю-у, в механизацию сельского хозяйства, в космос и невесомость! Веру-ю-у! Ибо это объективно-о! (Шукшин)
Re[13]: Подключение проги на фортране
От:
Аноним
Дата:
04.02.04 13:21
Оценка:
Здравствуйте, dad, Вы писали:
dad>к тому же я не нашел компилятора фортрана в своей студии.. Есть 5.1 для дос, есть visual fortran
dad>вообщем, надо смотреть чем конкретно ты располашаешь (студия какая, что будешь для интерфейса использовать?)
Вот тока сегодня с утра, добрался до этого ужаса окончательно — совок в общем жуткий
Начальство пишет на звере MS Fortran PowerStation 4.0 — жуткий зверь.
Для консоли Visual C++ 6.0 ( хотя может лучше C++ Builder? )
На данный момент уперся в создание объектника на фортране.
Если брать созданный при компиляции консоли — то c++ ругается
error LNK2005: _main already defined