.C() and C++ name mangling
Enclose the interface function, in your case gaRemin with extern "C"
statement like this:
extern "C"
{
gaRemin(int *, float *, float *, int *, float *, float *,
float *, float *, float *) {
...
}
}
Also, look at the "Writing R Extensions" manual in R help, specifically
the chapter "System and foreign language interfaces", section
"Interfacing C++ code", for more information.
peter
On Wed, 2002-10-02 at 10:06, Andy Jacobson wrote:
Howdy,
I'm working with some external code written in C++, which I
would like to call via dyn.load() and .C() from R. The
function prototype looks like:
gaRemin(int *, float *, float *, int *, float *, float *,
float *, float *, float *)
but to call this function from R using .C() I have had to use
the mangled version of this function name,
gaRemin__FPiPfT1T0T1N41
Is using the mangled name my best option, or is there some way
that R knows to interpret unmangled function names from C++
shared library objects?
I'm concerned about portability of the resultant code in the
case that name-mangling is handled differently from platform
to platform.
This is Linux, Redhat 7.2 with g++-2.96.
Thanks for any help you can offer,
Andy
--
Andy Jacobson
arj at gfdl.gov
Program in Atmospheric and Oceanic Sciences
Sayre Hall, Forrestal Campus
Princeton University
PO Box CN710 Princeton, NJ 08544-0710 USA
Tel: 609/258-5260 Fax: 609/258-2850
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help 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: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- r-help 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: r-help-request at stat.math.ethz.ch _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._