[R-pkg-devel] Call internal R functions in C
murdoch@dunc@n @end|ng |rom gm@||@com
Mon Apr 26 02:46:27 CEST 2021
On 25/04/2021 7:23 p.m., Cai Li wrote:
> Hello All,
> I'm developing a package with C code. My question may be naive: I have
> several internal R functions that need to be called by C, but I cannot get
> it to work or find a solution. It can work if I export those internal
> functions in namespace, but it fails if I just want to keep them as
> internal functions without exporting them. I guess I need some flags to
> indicate the "internal" R internal functions? Could you please share your
> thoughts on how to fix this? Much appreciated in advance!
> // set up call to R function "R_function"
> SEXP func_R;
> PROTECT(func_R=lang2(install("R_function"), func_data));
It all depends on the environment where you evaluate that expression,
just as it would if it was R code. You can't see internal package
functions from the global environment, you need to evaluate them in the
package namespace environment.
More information about the R-package-devel