| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Fortran > [Interop] HTTP запрос с помощью fortran |
| Автор: mak77 2.9.2010, 12:40 |
| Необходимо научить фортрановскую программу делать POST или GET запрос и получать ответ сервера. Возможно ли это? |
| Автор: FCM 3.9.2010, 08:12 |
| Может быть возможно - не знаю. Во всяком случае, если это возможно из С/C++, то можно попробовать вызывать из фортран-программы соответствующие С/C++ - функции. |
| Автор: mak77 3.9.2010, 15:58 |
| Пытаюсь вызвать из фортрановской программы С/C++ - функцию (как это описано в книге Бартеньева Фортран: новые возможности), не получается. Может есть конкретный того, как это делается, какие файлы надо создавать, что и куда писать? |
| Автор: FCM 3.9.2010, 19:55 |
| Покажи, свой нерабочий пример + какие компиляторы используются. |
| Автор: mak77 4.9.2010, 15:10 |
| Код фортрановской программы: program fortmain interface subroutine find_ab2(a,b,g) !dec$attributes stdcall :: find_ab2 ! Атрибут подпрограммы !dec$attributes reference :: a, b ! Параметры a и b передаются по ссылке !dec$attributes value :: g ! Параметр g передается по значению real(4) :: a, b, g end subroutine find_ab2 end interface real(4) :: a, b call find_ab2(a, b, -1.0) ! Первые 2 параметра передаются по ссылке print '(1x, 2f6.2)', a, b ! -2.00 3.00 end Код программы на СИ: #pragma hdrstop //--------------------------------------------------------------------------- #pragma argsused int main(int argc, char* argv[]) {return 0;} void _stdcall find_ab2(float *a, float *b, float g) {*a = 2.0 * g; *b = 3.0;} Компилирую программу на СИ с помощью C++Builder 6. Вставляю созданнный после компиляции файл Unit2.obj в фортрановский проект. Пытаюсь откомпилировать (Compaq Visual Fortran). Вот что пишет: \Unit2.obj : warning LNK4033: converting object format from OMF to COFF ci.obj : error LNK2001: unresolved external symbol _find_ab2@12 Unit2.obj : error LNK2001: unresolved external symbol __setargv__ Release/ci.exe : fatal error LNK1120: 2 unresolved externals Пытался также встаить в фотрановский проект непосредственно файл Unit.c, тоже не компилируется. С СИ я совершенно не знаком. Добавил код (функция find_ab2) из книжки Бартеньева в стандартную заготовку консольного проекта. |
| Автор: FCM 5.9.2010, 06:53 | ||||||||
| Если пользуешься Visual Fortran, то в пару ему естественно использовать не Borland, а Microsoft Visual C++. В твоем случае, должно быть что-то такое:
Код программы на С:
или код программы на С++:
либо
|