현재 저는 fortran dll 인 abc.dll을 가지고 있습니다. 이제 abc.dll에서 C# 코드를 호출하려고합니다. Fortran dll에서 C# 코드를 호출 할 수있는 방법이 있습니까? (필자는 포트란 DLL이 될 생각으로) 프로그램이 완전히 네이티브 코드로 작성되어있는 경우Fortran dll에서 C# 코드를 호출하는 방법
감사 사가르는
현재 저는 fortran dll 인 abc.dll을 가지고 있습니다. 이제 abc.dll에서 C# 코드를 호출하려고합니다. Fortran dll에서 C# 코드를 호출 할 수있는 방법이 있습니까? (필자는 포트란 DLL이 될 생각으로) 프로그램이 완전히 네이티브 코드로 작성되어있는 경우Fortran dll에서 C# 코드를 호출하는 방법
감사 사가르는
일반적으로, 다른 네이티브에서 내 보낸 것 방법 (dllexport
)를 호출해야합니다 코드 모듈. 이 경우 네이티브 인터페이스를 제공하고 내부적으로 C# 코드를 호출하는 Managed C++ dll을 만들려고합니다.
편집 : 호스팅 프로그램이 관리 코드이고 C# -> Fortran (네이티브) -> C# 호출 시퀀스를 수행해야하는 경우 관리되지 않는 함수 포인터로 위임하면 위의 주석에서 링크로 사용할 수 있습니다. 그러나 실행 파일이 관리 코드가 아닌 경우 언급 한 경로로 이동해야합니다.
최근의 Fortran 언어 기능 (2003 표준)을 지원하는 컴파일러는 C 상호 연동을 지원합니다. ISO_C_BINDING
모듈과 BIND
구조를 사용하여 C 인터페이스를 통해 다른 코드와 인터페이스합니다. 가장 최근의 컴파일러가 표준이며, Google에서 키워드 ISO_C_BINDING을 (를) 사용하여 많은 문서 (예 : this one)를 찾을 수 있습니다.
이 문서는 가치가있을 수 있습니다. - http://xtechnotes.blogspot.com/2008/07/callback-to-c-from-unmanaged-fortran.html –