What does c_fun look like? Here's mine: #include <stdio.h> #include <stdlib.h> void c_fun(){ printf("TMP is %s\n", getenv("TMP")); }
and I then do this at the shell prompt: R CMD SHLIB c_fun.c and this at the R prompt: dyn.load("c_fun.so") wrapper() and I get: > wrapper() [1] "A" TMP is A list() Is that not what you want? tldr; works for me. On Tue, Jun 3, 2014 at 5:55 PM, Bowen Meng <bowen....@gmail.com> wrote: > wrapper <- function(){ > Sys.setenv(TMP="A") > print(Sys.getenv("TMP")) > > .C("c_fun") > } > > > As the example above, I hope to set an env var $TMP inside the R function > "wrapper", which affects the functionality of the C function call "c_fun". > Also the print line shows that $TMP is set to be "A", but the function call > of "c_fun" was not affected. > > Does anyone know why and how to correctly set the env var for subsequent > functions? > > Thanks, > BW > > [[alternative HTML version deleted]] > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel