Звоните фортран код из c # - PullRequest
5 голосов
/ 09 июня 2011

У меня много кода, написанного на Фортране 77. Я хочу начать разработку с c # с использованием этого кода. Что мне делать?

  1. Импорт DLL-файлов FORTRAN в управляемый код
  2. Преобразовать код

Для каждого из вариантов, скажите, пожалуйста, как это сделать. Есть ли проблемы с производительностью первого?

Спасибо.

Ответы [ 4 ]

5 голосов
/ 09 июня 2011

См. http://msdn.microsoft.com/en-us/library/26thfadc.aspx. Я бы выбрал вариант 1. В большинстве случаев это будет меньше работы и даст лучшую производительность, при условии, что вы используете Fortran для сокращения чисел.

3 голосов
/ 09 июня 2011

Я на стороне Ахима. Например, AMD разрабатывает и поддерживает инструментарий линейной алгебры , написанный на FORTRAN 90, с доступным интерфейсом в стиле C. С Фортраном 77 YMMV

3 голосов
/ 09 июня 2011

есть коммерческий компилятор Fortran .net

2 голосов
/ 09 июня 2011

Вариант 1 хорош, если у вас много неуправляемого кода, который вы не успеваете перенести.Если вы идете по этому пути, убедитесь, что вы выполняете как можно меньше вызовов к неуправляемым методам, даже если эти вызовы связаны с отправкой больших аргументов / результатов, поскольку маршалинг между управляемым / неуправляемым миром может нанести ущерб производительности.

Вариант 2 - это хорошо, вы в конечном итоге конвертировать все в управляемый код.Предполагая, что этот код написан правильно, он может работать по крайней мере так же быстро, как неуправляемый код.

...