On Fri, 8 Oct 2010, Steve Pederson wrote:

Hi,

I'm trying to write a function in C for implementation with .Call. When compiling using R CMD SHLIB characters seem to be added to the function name.

Here's the complete C code from the file summariseMCMC.c:

#include<R.h>
#include<Rdefines.h>
#include<Rinternals.h>

void summariseMCMC(SEXP data) {

   PROTECT(data=AS_NUMERIC(data));
   UNPROTECT(1);

}

Then after compiling  (R CMD SHLIB summariseMCMC.c) & loading the .dll

dyn.load("C:/R/R-2.11.1/bin/summariseMCMC.dll")
is.loaded("_Z13summariseMCMCP7SEXPREC")
[1] TRUE
is.loaded("summariseMCMC")
[1] FALSE

Just wondering if anyone had any pointers for getting rid of this, or have I missed something outrageously obvious?

You have. This was not done by'R CMD SHLIB', but by a C++ compiler -- it is called 'name mangling'. Unfortunately you didn't show us the output from that command, when the cause would probably have been 'outrageously obvious'.

The fix is to make sure you use a C compiler to compile C code, and we've almost no idea why that is not being done on your system.
But as a guess, check that the environment variable CC is not set.


Thanks,

Steve


sessionInfo()
R version 2.11.1 (2010-05-31)
i386-pc-mingw32

locale:
[1] LC_COLLATE=English_Australia.1252  LC_CTYPE=English_Australia.1252
[3] LC_MONETARY=English_Australia.1252 LC_NUMERIC=C
[5] LC_TIME=English_Australia.1252

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

other attached packages:
[1] limma_3.4.4            Biobase_2.8.0          aroma.affymetrix_1.7.0
[4] aroma.apd_0.1.7        affxparser_1.20.0      R.huge_0.2.0
[7] aroma.core_1.7.0       aroma.light_1.16.0     matrixStats_0.2.1
[10] R.rsp_0.3.6            R.cache_0.3.0          R.filesets_0.8.3
[13] digest_0.4.2           R.utils_1.4.4          R.oo_1.7.3
[16] R.methodsS3_1.2.0

loaded via a namespace (and not attached):
[1] tools_2.11.1

______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


--
Brian D. Ripley,                  [email protected]
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 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to