- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear All,
Im writing a code including Visual Compaq Fortran and Intel Visual Fortran dll. If I want to link Visual Compaq dll, I should use /iface:cvf. But then, the Visual Fortran dll is not linkable! How can I link both dll in the same code.
Best regards,
Didace
Im writing a code including Visual Compaq Fortran and Intel Visual Fortran dll. If I want to link Visual Compaq dll, I should use /iface:cvf. But then, the Visual Fortran dll is not linkable! How can I link both dll in the same code.
Best regards,
Didace
1 Solution
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Don't use /iface:cvf. Instead, write a module that contains INTERFACE blocks for the routines in the CVF DLL (wouldn't hurt to also have interfaces for the other DLL too.) In the interface, you'll have to use a directive to apply CVF conventions. For example:
[plain]interface subroutine sub (a,b,c) !DEC$ ATTRIBUTES STDCALL,REFERENCE,DECORATE,ALIAS:"SUB" :: sub real a,b,c end subroutine sub end interface
[/plain]
In the ALIAS attribute, enter the name of the routine in uppercase.
Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Don't use /iface:cvf. Instead, write a module that contains INTERFACE blocks for the routines in the CVF DLL (wouldn't hurt to also have interfaces for the other DLL too.) In the interface, you'll have to use a directive to apply CVF conventions. For example:
[plain]interface subroutine sub (a,b,c) !DEC$ ATTRIBUTES STDCALL,REFERENCE,DECORATE,ALIAS:"SUB" :: sub real a,b,c end subroutine sub end interface
[/plain]
In the ALIAS attribute, enter the name of the routine in uppercase.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - Steve Lionel (Intel)
Don't use /iface:cvf. Instead, write a module that contains INTERFACE blocks for the routines in the CVF DLL (wouldn't hurt to also have interfaces for the other DLL too.) In the interface, you'll have to use a directive to apply CVF conventions. For example:
[plain]interface
subroutine sub (a,b,c)
!DEC$ ATTRIBUTES STDCALL,REFERENCE,DECORATE,ALIAS:"SUB" :: sub
real a,b,c
end subroutine sub
end interface
Thank you very much Steve Lionel, for answer.
Best regards,
Didace
[/plain]
In the ALIAS attribute, enter the name of the routine in uppercase.
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page