Unless that Fortran library is written in Fortran-95-or-newer and makes use of modules, in which case the mangling is much more complicated.
On Monday, February 2, 2015 at 10:21:50 AM UTC-8, Jameson wrote: > > it seems you are ccall'ing the location of the MOD variable inside of the > function, rather than the function name itself. fortran functions are often > name-mangled by appending or prepending a small number of underscores, not > completely re-writing the name. > > > On Mon Feb 02 2015 at 1:05:21 PM benjamin kary <[email protected] > <javascript:>> wrote: > >> I have a Fortran module which parses a complicated input file to populate >> a workspace with all the variables I need for a certain task. I have >> decimated the fortran code to try and get a single parsing command to >> work. The input to the Fortran function "em_data_read_input" is a string >> containing the name of the input file. The Fortran function returns a >> variable "freq" of type REAL(kind=8). The following causes the julia >> kernel to restart with no error message: >> >> test = ccall( (:__global_variables_MOD_emdata_read_input, "libglobvar"), >> Float64, (Ptr{Int8},), "csem3dfwd.in" ) >> >> Is there anything obviously wrong with what I'm trying to do? >> >> Thanks, >> >> Ben >> >>
