[R] Calling function in DLL using .C
Duncan Murdoch
murdoch.duncan at gmail.com
Tue Jan 24 19:21:50 CET 2012
On 24/01/2012 11:55 AM, Alex van der Spek wrote:
> Uploaded the DLL here:
>
> http://www.filefactory.com/file/c2c56ad/n/Planck.dll
I get:
403 Forbidden
Request forbidden by administrative rules.
Duncan Murdoch
> Appreciate if you can check to see if anything is wrong with this DLL. I
> use dumpbin to look at what is in the exports table of the DLL. No reason
> for concerns there. I can work with this DLL from both VBA and Python.
> Python's ctypes allow the use of both the C and stdcall versions. Both
> work fine.
>
>
> By the way, the DLL contains, for every function, one export using C
> calling conventions for use in R (name appended with R) and one export
> using stdcall for use with VBA/Python, the latter using decorated names.
>
> Reading up on gcc in the mean time.
>
> Thank you,
> Alex van der Spek
>
> > On 24/01/2012 10:35 AM, Alex van der Spek wrote:
> >> Yes, sorry, I am learning how to do this. I am a simple and ageing
> >> physicist who grew up with Fortran and Algol.
> >>
> >> Just wondering if what appears to be an internal R inconsistency between
> >> is.loaded() and .C() can be explained.
> >>
> >> Attempts to compile with gcc to a DLL unsuccessfull so far. That is
> >> solely because I have never used gcc before and have a long way to go.
> >> Years ago I taught myself how to use DLLs in VBA, it took 6 weeks to
> >> learn how to make sense out of decorated names and Fortran string
> >> passing. The use of DLLs in Python was easy. I am OK with investing
> >> weeks again to learn how to do this in R but with the apparent
> >> inconsistency I am uncertain where to begin. Drop VC97 and use gcc as a
> >> cure all?
> >
> > That would be easiest, because then there would be lots of others
> > available to help you. You may be the only one using your particular
> > compiler with R.
> >
> > You could also post the .dll online so others can take a look and see
> > what's going on. We might not be able to tell you how to fix the
> > problem with your compiler, but we could likely tell you what it is.
> >
> > Duncan Murdoch
> >
> >> Thanks,
> >> Alex van der Spek
> >>
> >>
> >>
> >> On 01/24/2012 04:11 PM, Duncan Murdoch wrote:
> >> > On 24/01/2012 6:49 AM, Alex van der Spek wrote:
> >> >> I cannot understand why a function appears to be available to R
> >> >> (is.loaded('planckwR') returns TRUE) but the call with .C results in
> >> an
> >> >> error message:
> >> >>
> >> >> C symbol name 'planckwR' not in DLL for package<path to DLL file
> >> here>
> >> >
> >> > You posted this question a few days ago, and said you'd try using gcc
> >> > instead of VS. How did that go?
> >> >
> >> > Duncan Murdoch
> >> >
> >>
> >
> >
>
>
More information about the R-help
mailing list