[Rd] problem running dll in R
murdoch at stats.uwo.ca
Mon Aug 25 20:13:37 CEST 2008
On 8/25/2008 11:45 AM, rcoder wrote:
> Hi Duncan,
> Thanks for your reply. Would you know of a code + compiler combination that
> works in R, so I can get a feel for the process?
Sure, the MinGW compilers in the Rtools should be fine. You get them
from www.murdoch-sutherland.com/Rtools. With those, building a DLL is
R CMD SHLIB source.f
> Duncan Murdoch-2 wrote:
>> On 23/08/2008 8:44 PM, rcoder wrote:
>>> Hi everyone,
>>> I've created a dll for a fortran subroutine, and when I call the
>>> in R (via a wrapped function) a standard program shutdown windows error
>>> prompt immediately pops up: the program has encountered a problem and
>>> to be shut down... send message / don't send message to MS... etc.
>>> When I click "Don't send", the R consol does not then shut down, and
>>> to continue to execute, and task manager does not indicate "not
>>> The problem is the execution takes too long, and I think the program is
>>> hanging rather than executing. I have tested with different fortran code,
>>> and the same thing happens, so I don't think it is anything to do with
>>> side of things.
>>> I created fortran code in a text editor, compiled using Plato3 IDE, then
>>> converted the file into a dll using gFortran. I place the dll in the R
>>> directory and it load in the console. The problem seems to occur when
>>> defining the data types in R, for the variables in the fortran routine.
>>> I was just wondering if anyone has experienced anything similar when
>>> to call fortran subroutines in R?
>> I haven't seen that, and haven't used that particular compiler, but it
>> has the symptoms of a mismatch in calling conventions. Does your
>> compiler pass arguments in registers? R uses what Windows calls the
>> cdecl calling convention in external calls.
>> Some old advice on using non-standard compilers is available here:
>> I haven't updated it in a few years, but I think it is still current.
>> Duncan Murdoch
>> R-devel at r-project.org mailing list
More information about the R-devel