/ test_src / r / hello_world / 001 / hello_wrapper.c
hello_wrapper.c
 1  #include <R.h>
 2  #include <Rinternals.h>
 3  #include <Rembedded.h>
 4  #include <stdlib.h>
 5  
 6  int main(int argc, char *argv[]) {
 7      setenv("R_HOME", "/usr/lib/R", 1);
 8      
 9      char *r_argv[] = {"R", "--slave", "--no-save", "--no-restore"};
10      Rf_initEmbeddedR(4, r_argv);
11      
12      SEXP e;
13      int errorOccurred;
14      
15      PROTECT(e = lang3(install("cat"), mkString("Hello, World!"), mkString("\n")));
16      R_tryEval(e, R_GlobalEnv, &errorOccurred);
17      UNPROTECT(1);
18      
19      Rf_endEmbeddedR(0);
20      return 0;
21  }