[R] Answer to help in R calling C function

Lei Liu liulei at l.imap.itd.umich.edu
Sun Jun 27 19:55:03 CEST 2004

Hi there,

Thank you all for your timely response. I find the right way to do it. 
There is a good example in Dr. Burns website:


Page 174.

So this is the right way to do:

#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <time.h>

double test(double alpha)
	double value;
	value = alpha *3;

void main2(double *alpha, double *beta)
	double test(double);
	*beta= *alpha *2 + test(*alpha);

After compiling it by MINGW,  you can use the following code in R:

dyn.load("c:/Program Files/R/rw1060/bin/main2.dll")
c=.C('main2', as.double(a), as.double(b))[[2]]

Hope this helps!


Lei Liu

More information about the R-help mailing list