Title: | Digital Fortran |
Notice: | Read notes 1.* for important information |
Moderator: | QUARK::LIONEL |
Created: | Thu Jun 01 1995 |
Last Modified: | Fri Jun 06 1997 |
Last Successful Update: | Fri Jun 06 1997 |
Number of topics: | 1333 |
Total number of notes: | 6734 |
I'm trying to get a fortran source that was KAP'd on unix to build under Visual Fortran V5.0 on NT. The problem I am having is that KAP has seen fit to place calls to malloc and free in the fortran source. Now I know that malloc and free are standard C routines but I get undefined external references from the linker when I try to compile and link the application. The malloc and free calls are declared EXTERNAL in the fortran source. The machine code listing indicates a bsr ra, j^MALLOC and similar statement for the call to free. Is the problem that f90 is uppercasing the name of the routine and the actual name is in lower case? It would seem this might be the problem as the C programs which call malloc and free work just find. BTW the link command for the fortran build does specify libc.lib as a library. Hopefully this is some stupid thing I am doing and you all can set me straight here.
T.R | Title | User | Personal Name | Date | Lines |
---|---|---|---|---|---|
1223.1 | QUARK::LIONEL | Free advice is worth every cent | Mon Mar 17 1997 13:01 | 5 | |
Well, if you take out the EXTERNAL statements, it should work, as these are intrinsics to DVF. That's the easiest solution - other ways are to add directives specifying the "C" attribute for the routines. Steve | |||||
1223.2 | QUARK::LIONEL | Free advice is worth every cent | Mon Mar 17 1997 13:04 | 5 | |
Other way is to add the line: !DEC$ ATTRIBUTES C :: MALLOC,FREE Steve |