- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
Dear all,
In my application I have to share data between 2 dll's. The data is defined in a Fortran module and when using
!DEC$ ATTRIBUTES DLLEXPORT it works, however when compiling the code on a linux platforI get warning messages about the !DEC$... Is there a way to remove the !DEC$... from the Fortran modules but still being able to use the data in both dll's ?
Best Regards,
Albert
In my application I have to share data between 2 dll's. The data is defined in a Fortran module and when using
!DEC$ ATTRIBUTES DLLEXPORT it works, however when compiling the code on a linux platforI get warning messages about the !DEC$... Is there a way to remove the !DEC$... from the Fortran modules but still being able to use the data in both dll's ?
Best Regards,
Albert
링크가 복사됨
11 응답
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
!DEC$ is an extension. You could try f2003's deficientC interop features to get around this.
Gerry
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
But there's no DLLEXPORT in the C interoperability feature.
The way I would approach this is:
!DEC$ IF DEFINED (_WIN32)
!DEC$ ATTRIBUTES DLLEXPORT :: name
!DEC$ END IF
The way I would approach this is:
!DEC$ IF DEFINED (_WIN32)
!DEC$ ATTRIBUTES DLLEXPORT :: name
!DEC$ END IF
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
How tautological! Allthat does is assure that it's portable to Windows if one is using MSFP, Digital, Compaq, or IVF,whichwe knewalready.
Even scripting languages have superior C interop than f2003.
Gerry
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
My understanding was that it was desired to avoid the warning about the unsupported DLLEXPORT attribute on Linux when using the Intel compiler there. The code I suggested would do that.
DLLEXPORT has nothing to do with C interop.
DLLEXPORT has nothing to do with C interop.
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
You can't. If you are exporting or importing variables, the directives are required.
