Я не нашел сообщений о переполнении стека, которые обсуждают вызов C# из Fortran (я также использую Visual Studio 2010 с установленной Intel Visual Fortran). Тем не менее, существует (очень) ограниченное количество сообщений [1, 2, 3], которые обсуждают вызов C/C++ из fortran.вызов C# из Fortran
В одном из ответов на эти сообщения было высказано предположение, что вызов C++ из Fortran сложнее вызова C, что вызвало мои подозрения, что C# может быть еще сложнее? Не имея фундамента в C/C++/C#, мне интересно, применимы ли к C# процедуры, изложенные для C/C++?
Одна общая черта, которую я заметил среди этих сообщений, заключалась в том, что необходим встроенный модуль под названием ISO_C_BINDING. Прочитав немного больше об этом here, мне не было ясно, что ISO_C_BINDING позволит мне передать пару 2D-массивов ценность информации в программу (скомпилированную как DLL), написанную на C#, вызвать некоторые «события», (аналогично функциям?) и, наконец, вернуть 2D-массив информации из C#, прежде чем перейти к моему бизнесу в Fortran.
Если вы знакомы с Fortran и C#, не могли бы вы рассказать мне, соответствует ли ISO_C_BINDING задаче? Я не получил этого смысла от информации, указанной выше. Если у кого есть рабочий пример, который включает в себя проходящие массивы между C# и Fortran, а также вызова C# функции из Fortran, я бы очень признателен за возможность посмотреть его на как шаблон для того, как я мог бы продолжить. Спасибо, Эрик
Вы можете обернуть Fortran код C клеем. Тогда ваш код 'C# 'вызовет код * C *, который вызовет ваш * Fortran * –
Привет, пользователь2256085, я задаю этот один и тот же вопрос, и, как и вы, у меня проблемы с поиском большого количества контента. Когда я что-то нахожу, как и ответ ниже, он часто кажется неправильным, это Fortran для C#, а не Vice Versa. Вы узнали что-нибудь новое за 2 года с тех пор, как вы разместили это? – u8it
P57, в конце концов, я смог получить пример работы. Если есть возможность продолжить этот разговор напрямую (по электронной почте), давайте сделаем это, хотя для этого может потребоваться, чтобы один из нас разместил здесь прямую контактную информацию, которую вы, возможно, не захотите делать (я этого не делаю). – user2256085