On Apr 14, 2010, at 7:50 AM, Dominick Samperi wrote:
Consider the C (or C++) code called from the .Call interface:
SEXP foo() {
SEXP *p = PROTECT(allocVector(REALSXP, 10));
...
UNPROTECT(1);
return p;
}
Why is there no danger that the allocated memory will be garbage
collected
Consider the C (or C++) code called from the .Call interface:
SEXP foo() {
SEXP *p = PROTECT(allocVector(REALSXP, 10));
...
UNPROTECT(1);
return p;
}
Why is there no danger that the allocated memory will be garbage
collected after the UNPROTECT, but before the return of p?
I have used