I have a FORTRAN DLL that is integrated into third-party software. To do this, it has one entry point routine, the arguments to that routine contain the addresses of all the other interface routines. References to these interface routines are resolved in a C library, which I believe is unneccessary. According to my predecessor (who came up with this scheme), the C library:
"Contains the definition of the addresses of imported functions in the DLL libraries. These addresses
correspond to addresses of functions in whichever executable program calls
the DLL library. To avoid using the DLLIMPORT compiler directive in the
DLL, the addresses are used to call the functions directly. This permits
the building of the DLLs without using any import directives, and thus
does not require a formal exports declaration from the calling executable.
The set of required functions are also defined here. These are called using the
To improve maintainability, I think I can replace the C with FORTRAN using the POINTER keyword - but I'm not sure exactly how - any one want to help me out?