I suspect the intend is to send a value from R to compiled code. Which happens to be a problem for which Rcpp offers a pretty convenient solution.
And if you really, really want to, you can even program in C inside of an Rcpp interface: R> cppFunction("int foo(std::string txt) { Rprintf(\"Var is %s\\n\", txt.c_str()); return 0; }") R> foo("A") Var is A [1] 0 R> Dirk On 3 June 2014 at 19:06, Barry Rowlingson wrote: | 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 -- Dirk Eddelbuettel | e...@debian.org | http://dirk.eddelbuettel.com ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel