Tech Tip: NAG Fortran DLL's and the Salford FTN95 Compiler
The Salford FTN95 compiler is heavily used in the academic community where it is widely regarded for its thorough debugging and standard conformance capabilities. As NAG is also deeply embedded in the academic community it made sense to both NAG and Salford to ensure that the NAG library worked with the FTN95 compiler.
The appropriate library is the NAG DLL, FLDLL204Z. In the Users' Note for this implementation we give advice on how FTN95 users might link to the NAG DLLs. In summary we say:
"Use the /IMPORT_LIB command line switch as follows: ftn95 myprog /import_lib mydir\dll20dds.dll /import_lib mydir\dll20dd.dll where mydir is the location of the DLLs. Slink myprog.obj mydir\dll20dds.dll mydir\dll20dd.dll"
The information we give is correct, even with the latest version of FTN95. However we have received a couple of support questions concerning the apparent malfunctioning of NAG routines when called in this manner. Investigation revealed that the use of the /check or /checkmate option together with this construct causes the resultant program to execute incorrectly. This is a compiler bug. It appears to be safe to use the /bounds_check option.
For more information on NAG's Fortran DLL's please see www.nag.co.uk/numeric/Num_DLLhelp.asp
Please note, since this article was written NAG has produced a new Mark of its Fortran Libraries and the recommended library for use with the Silverfrost (formerly Salford) FTN 95 compiler for Windows is now FLDLL214M or FLDLL214A. The problem described in the article has been investigated by Silverfrost and they have published an explanation and work-around on their website at http://forums.silverfrost.com/viewtopic.php?t=1219
For specific technical advice in using NAG's products, please contact our technical experts.
Return to Technical Tips & Hints index page.