C++ 코드에서 fortran dll을로드하고 fortran dll에서 함수를 호출하려고합니다. C++ 코드를 사용하여 FORTRAN DLL에서 함수 호출
다음
는 코드 foo.dll를 [fotran DLL]의 생성 후SUBROUTINE SUB1()
PRINT *, 'I am a function '
END
이 I는 포트란 DLL을로드 작성한 비주얼 스튜디오 2012 년 folowing C++ 코드이다. 와 나는 다음과 같은 오류가 발생하고 실행하는 동안 포트란 코드
#include <iostream>
#include <fstream>
#include <Windows.h>
using namespace std;
extern "C" void SUB1();
typedef void (WINAPI *PGNSI)(LPSYSTEM_INFO);
int main(void)
{
LoadLibrary(L"foo.dll");
PGNSI pGNSI = (PGNSI) GetProcAddress(GetModuleHandle(TEXT("foo.dll")),"SUB1");
return 0;
}
의 기능 SUB1 전화 :
libgcc_s_dw2-1.dll 컴퓨터에서 누락되기 때문에 프로그램을 시작할 수 없습니다. 이 문제를 해결하려면 프로그램을 다시 설치하십시오.
C++에서 dll을 호출하는 올바른 방법입니까? 나는이 fortran dll에 매우 익숙하다. 제발 도와주세요.
이 같은 기능을 내보낼 필요의
당신의 OS, 포트란 및 C++ 컴파일러를 게시하시기 바랍니다 ... 아래와 같이 VS에서 FORTRAN 노출 된 함수를 호출 할 수 있습니다. 컴파일러 플래그도 유용 할 것입니다. Fortran-C 상호 운용성으로 시작하려면 [fortran-iso-c-binding] (http://stackoverflow.com/tags/fortran-iso-c-binding/info)을 검색하십시오. – Peter