Visual Studio и FORTRAN работают вместе?

#visual-studio-2010 #.net-4.0 #fortran #dllimport

#visual-studio-2010 #.net-4.0 #fortran #dllimport

Вопрос:

Недавно я начал работать над проектом, который в основном представляет собой графический интерфейс для консольного приложения FORTRAN, которое запускает серию симуляций для набора данных.

Что я хочу сделать, так это иметь возможность изменять этот код на FORTRAN и компилировать его как .dll, чтобы я мог передавать в него данные напрямую через что-то вроде импорта DLL.

Итак, мне было интересно, можете ли вы настроить проект FORTRAN в Visual Studio 2010? Например, возможность компилировать и отлаживать код?

И есть ли какие-либо негативные моменты, связанные с прямыми вызовами скомпилированного файла FORTRAN .dll? Например, ограниченные типы данных параметров / возвращаемые типы данных?

Спасибо, Алекс.

Ответ №1:

Итак, мне было интересно, можете ли вы настроить проект FORTRAN в Visual Studio 2010? Например, возможность компилировать и отлаживать код?

Да, вы можете. Но я думаю, вам нужно купить коммерческий компилятор с интеграцией в VS.

Я знаю как минимум 3 варианта. Intel® Fortran Composer и PGI Visual Fortran® могут создавать машинный код, а Silverfrost FTN95 может создавать.СЕТЕВЫЕ сборки (поддерживает .NET 4.0).

И есть ли какие-либо негативные моменты, связанные с прямыми вызовами скомпилированного файла FORTRAN .dll? Например, ограниченные типы данных параметров / возвращаемые типы данных?

Но если у вас уже есть консольное приложение, я действительно рекомендую оставить его таким, какое оно есть. Не создавайте DLL, просто напишите свое приложение с графическим интерфейсом как своего рода интерфейс для серверной части вашей консоли. Ваш интерфейс с графическим интерфейсом должен иметь возможность генерировать входные файлы и анализировать выходные файлы.

С моей точки зрения, этот способ гораздо более гибкий. В будущем вы сможете легко использовать серверную часть консоли, например, в кластере * nix. Или некоторые опытные пользователи могут использовать сценарии вокруг серверной части консоли…

Вы также можете предоставить пользователю возможность отправлять этот сгенерированный входной файл в серверную часть консоли (создавая новый процесс) из вашего приложения с графическим интерфейсом. Приложение с графическим интерфейсом будет ждать завершения процесса, а затем анализировать выходные данные. Но в такой тесной интеграции серверной части и интерфейса нет необходимости.

Комментарии:

1. Входные файлы слишком сложны и громоздки, мы также хотим иметь возможность вводить несколько источников данных, которые тогда также должны были бы поддерживаться в консольном приложении. Мы также просто напишем расширение для нашего приложения с графическим интерфейсом, которое позволит создавать пакетные сценарии с использованием входных файлов.