R-alpha: Re: R-beta: .C and dyn.load for Windows
Peter Dalgaard BSA
18 Aug 1997 15:03:37 +0200
Goran Brostrom <email@example.com> writes:
> Dear R-users,
> I maintain software for survival analysis written in C and Fortran since
> many years ago. Recently I have rewritten part of it as functions to
> be called from R by .C. This works fine with the unix version. I just
> create a ".so" file as described in an example in the R distribution.
> However, when I try this approach in Windows (NT or 95), using the
> Cygnus gcc latest version, the "ld" command to create the ".so" file fails
> miserably. The Windows R documentation talks about "DLL"s, of which I
> know very little.
> Can anyone tell me how to create R-loadable C-code with Cygnus gcc under
> Windows (NT, 95)?
> Maybe it isn't possible?
(This really is alpha/development stuff, belonging on r-devel)
Is this the Cygnus gcc from gnuwin32? You're a very brave person..!
You didn't happen to get the Windows GUI stuff going while you were at
it, did you?
Robert Gentleman says that he has DLL loading "near the top of his
list" for the next Windows binary version.
Another pointer is that it is rumored that *scilab* has some code to
do the trick on the windows platforms
Some nice guy on the gnuwin32 list claimed to have compatibility
functions for the whole dlopen/dlsym/.. slew a few weeks ago.
BTW: You do know that there already is a quite comprehensive survival
package for R?
Here is the note from gnuwin32:
I have made some work to let dlls have almost the same behavior as so on UNIX:
- implementation of dlopen,dlclose,dlsym,dlerror
- correct init when loaded + call of global contructors
- call of global destructors when detached
- dlls are accessible and correctly initialized in forked process
- handles got through dlopen or dlsym in parent are accessible in child
- use of LD_LIBRARY_PATH in dlopen search
I think it can help people who need an intensive use of dll ( plugins ... )
My patch is 59082 bytes, so I will not send it to the list.
Anyway, if you are interested, send me a mail and I will send you the patch
P.S: I will send the patch to Geoffrey Noer
| Philippe GIACINTI |
| DALiM GmbH R&D email: firstname.lastname@example.org |
| Daimler Strasse 2, tel: +49.7851.9196-28 |
| D-77694 Kehl-Sundheim Germany fax: +49.7851.73576 |
O__ ---- Peter Dalgaard Blegdamsvej 3
c/ /'_ --- Dept. of Biostatistics 2200 Cph. N
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (email@example.com) FAX: (+45) 35327907
r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !) To: firstname.lastname@example.org