Hello, Your question is more appropriate on the R-devel mailing list.
Le 03/12/10 00:41, Oleksandr Dyklevych a écrit :
Dear sir\madam! I'm trying to speed up my R code by writing quite simple dll's in C. But I faced some problems, and I cannot determine their source. #include <Rinternals.h> SEXP mycombin(SEXP N, SEXP k){ int i, *j, *l, c; j = INTEGER(k);l = INTEGER(N); c = 1; if(j[0] > 0 && j[0] < l[0]){ if(j[0] <= l[0] - j[0]){ for(i = l[0]; i >= l[0] - j[0] + 1; i--){ c = c * i / (l[0] - i + 1); } } else{ for(i = l[0]; i <= j[0] + 1; i++){ c = c * i / (l[0] - i + 1); } } } return ScalarInteger(c); } But, when I try to compile it
What does that mean ? What did you try ? R CMD SHLIB mycomin.c definitely works for me. What part of "Writing R Extensions" was not clear ? Romain
I have 5 errors, and all of them come form linker and say next (Code::Blocks): ||=== mcb2, Release ===| obj\Release\conv.o:conv.c|| undefined reference to `INTEGER'| obj\Release\conv.o:conv.c|| undefined reference to `INTEGER'| obj\Release\conv.o:conv.c|| undefined reference to `Rf_ScalarInteger'| obj\Release\conv.o:conv.c|| undefined reference to `Rf_ScalarInteger'| obj\Release\conv.o:conv.c|| undefined reference to `Rf_ScalarInteger'| ||=== Build finished: 5 errors, 0 warnings ===| I found out that I need to link Rdll.lib, but to make it I should use these instructions make R.exp lib /def:R.exp /out:Rdll.lib but i cannot figure out where I should use them. I'm trying from here C:\Rtools\src\gnuwin32 but each time i get make: *** No rule to make target `R.exp'. Stop. So where should I state this rule and which rule?... Will you help me, please, to "connect" my C compiler to R? Best regards, Oleksandr
-- Romain Francois Professional R Enthusiast +33(0) 6 28 91 30 30 http://romainfrancois.blog.free.fr |- http://bit.ly/hovakS : RcppGSL initial release |- http://bit.ly/iaxTdO : parser 0.0-12 `- http://bit.ly/gnCl01 : Rcpp 0.8.9 ______________________________________________ R-help@r-project.org 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.