On Thu, 2008-12-18 at 17:18 +0100, Thibault Helleputte wrote: > Hello, > > I try to incorporate C code in R. > > suppose I have the following C code: > > #include <R.h> > #include <stdio.h> > > int main(int *n) > { > int i; > for(i=0; i < *n; i++) { > printf("Hello, world!\n"); > } > } > > > in a file named "hello.c". First I make: > > g++ -c hello.c -o hello.o -I > "/Library/Frameworks/R.framework/Versions/2.8/Headers/" > g++ -dynamic hello.o -o hello.so > > I work on mac, and that's why I have to set the -dynamic option. First > of all, I don't understand why I have to specify the path to R.h, but if > I don't, R.h isn't found. > > My problem is the following: once the .so is generated, without any > warning or error, I open my R envirronment and type > > > dyn.load("/path/to/my/hello.so") > > then push on enter, and then R runs hours, without giving me the > command invite again. What am I doing wrong?
It might have something to do with the fact that you call your function "main". Try renaming it. Also have a look at section 5.5 of the "Writing R Extensions" manual on creating shared objects for loading into R. Martyn > Thank you. ----------------------------------------------------------------------- This message and its attachments are strictly confidenti...{{dropped:8}} ______________________________________________ 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.