Вызов функции C из intel Fortran 11 в Visual Studio 2008, пошаговая процедура - PullRequest
1 голос
/ 26 августа 2011

Пожалуйста, дайте мне пошаговый ответ с примером, как вызывать функцию C из Fortran в visual studio 2008. Мой компилятор Fortran работает в visual studio 2008. Где я должен хранить файлы C и Fortran, и для этого я нужен компилятор C или нет?

1 Ответ

2 голосов
/ 26 августа 2011

Лучше всего использовать среду сборки Windows, такую ​​как MinGW. Установите это и убедитесь, что каталог MinGW, содержащий gcc.exe, make.exe и т. Д., Находится на вашем пути. Вам нужна помощь в настройке?

Далее вы пишете файл C и компилируете его в объектный файл:

gcc -c -o c_file.obj c_file.c

Например, ваш файл c может быть:

#include <stdio.h>

void my_c_function() {
    printf("Entering my_c_function()...\n");
}

Теперь вам нужно предоставить интерфейс для компилятора Fortran для функции C:

module foo
    use ISO_C_Binding

    interface
        subroutine my_c_function() bind(C,name="my_c_function")
        end subroutine
    end interface

end module foo

program main
    use foo

    call my_c_function()

end program

Вам нужно будет сообщить компоновщику об объектном файле c_file.obj. Я предполагаю, что вы используете Visual Studio IDE. Перейдите в Свойства проекта -> Линкер -> Ввод и добавьте c_file.obj в «Дополнительные зависимости». Затем он должен работать нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...