- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Are you using Intel Fortran?
When you "create the DLL", you need to understand MATLAB's conventions for how routines are called. Assuming that the process of creating the DLL also creates an "import library" (a .LIB), then you just call the routine like any other and link with the import library. This assumes that the DLL routine's calling and argument conventions match that of the Fortran compiler you are using.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
ABAQUS and MATLAB are not the same. If the DLL you want to call was built by Intel Visual Fortran, then a .LIB should have been created when the DLL was linked. You would link to that .LIB to define the routines in the DLL. You will still need to know what conventions were used. There may be some issues specific to ABAQUS/MATLAB that I am not familiar with.
From the caller side, just call the routine with the required arguments as you would any other Fortran routine.
I assume that when you say "FORTRAN 77 format" you mean fixed-form source. You are not using a FORTRAN 77 compiler.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
First of all, DLL is a Windows-specific term, though most other operating systems have a similar concept. "shared library" is a more universal term.
Calling a routine that is in a DLL is no different from calling a routine in a static library. With both you need to know what the routine expects for arguments, how they are passed, and the exact external name of the routine (uppercase, lowercase, mixed). On IA-32 Windows you also need to know if the routine uses the STDCALL or C calling convention. In both cases you need to be provided with the .LIB file generated from the library build. In the case of a DLL, this is the "export library" automatically created by the linker when the DLL is built. (It is possible to call a routine in a DLL without the export library, but that is more complicated.)
You would then consult your compiler's documentation for how to call a routine with those particular requirements.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page