On Wed, 16 Apr 2008, Guohui Ding wrote: > Dear All, > > I have written a function in c (in a file named 'a.c') as follows,
*PLEASE* don't claim credit for the work of others (in this case it is me that you owe the apology and retraction to). That is from 'S Programming' p. 126, and 'Writing R Extensions'. > void convolve(double *a, int *na, double *b, int *nb, double *ab) > { > int i, j, nab = *na + *nb - 1; > > for(i = 0; i < nab; i++) > ab[i] = 0.0; > for(i = 0; i < *na; i++) > for(j = 0; j < *nb; j++) > ab[i + j] += a[i] * b[j]; > } > > Then, I created a shared file in the Windows, > > R CMD SHLIB -d -o a.dll a.c > > Every thing is OK now. > > I changed the working directory of the R environment to the directory > containing the a.dll. > I enter two commands in the R console, > >> dyn.load("a.dll") >> is.loaded("a") > [1] FALSE > > The question is that, why was the "a.dll" failed to be loaded in the R > enviroment? Which step resuted in this problem? It did not fail. is.loaded("a") looks for entry point "a", and you have "convolve". > Any suggestion was welcome. Do note that posting guide said about where to post non-R programming questions. > > G. Ding > > [[alternative HTML version deleted]] > > ______________________________________________ > 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. > -- 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 ______________________________________________ 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.