[Rd] Samples of external code with various compilers?
ripley@stats.ox.ac.uk
ripley@stats.ox.ac.uk
Mon Dec 2 17:09:13 2002
On Mon, 2 Dec 2002, Duncan Murdoch wrote:
> On Mon, 2 Dec 2002 08:07:19 +0000 (GMT), you wrote in message
> <Pine.LNX.4.31.0212020753570.1625-100000@gannet.stats>:
>
> >I think there is information and lots of examples already for Fortran.
>
> I was thinking of two additions:
>
> 1. Rewriting the samples in sections 4.2 and/or 4.5 in Fortran,
> Delphi, etc. I might make them a little more elaborate, e.g. showing
> how to return a character string.
(Except the last is non-portable for Fortran). Contributions welcome, of
course.
>
> 2. Write up the details of how to do it in various specific
> compilers. For example, if you're using Microsoft Visual Fortran, how
> do you create a DLL, how do you set the exported entry points, what
> bugs do you need to work around.
I think it is only an issue on Windows. That needs to go in
readme.packages: some is already there.
> >Base R has only interfaces for C and Fortran (and that via C-style
> >linkage): SJava adds .Java. So is the issue how to write in other
> >languages to use a C interface? `how to dyn.load functions' is easy: you
> >just create an appropriate compiled object, a shared library, a DLL or (on
> >MacOS X as I understand it) a module. The issues seem to be to export the
> >symbols correctly, and even more to import ones from R correctly.
>
> Yes, that's the main issue. There are also issues even with C: if
> you're using some compiler other than gcc, you probably won't compile
> using R SHLIB, so what do you need to do?
You can: I do it all the time. If you use use the same compilers to build
R and its extensions, it just works.
Brian
--
Brian D. Ripley, ripley@stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272860 (secr)
Oxford OX1 3TG, UK Fax: +44 1865 272595