Hi,
 
I am trying to figure a way to allocate a string SEXP so that gc() won't
ever collect it.
 
Here is a little bit of a background. Suppose I want to write a
.Call-callable function that upon each call returns the same value, say
mkChar("foo"):
 
SEXP getFoo() {
   return mkChar("foo");
}
 
The above implementation doesn't take advantage of the fact that
mkChar("foo") could be pre-computed only once, and then the function
would return the pre-computed value. So the question is how to create
this precomputed value.
 
 
The closest thing I could find in the sources is R_NaString, but I was
not able to trace down how it comes about.
 
 
Thanks,
Vadim
 
 
P.S. I was able to solve a similar problem with symbols. If I need a
symbol "foo", I do
 
static SEXP  FooSymbol = install("foo");
 
and then use FooSymbol instead of install("foo")
 
 
 

        [[alternative HTML version deleted]]

______________________________________________
R-devel@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to