В Sat, 23 Sep 2023 08:42:25 +0000
Ralf Stubner <ralf.stub...@gmail.com> пишет:

> ?Random.user describes a way to hook a user- defined
> RNG into R. However, it looks like these two things are not
> compatible, i.e. `user_unif_rand` et al. are not found, if dynamic
> symbols are not allowed.

You're right! Looking at the code, if R_useDynamicSymbols(dll, FALSE)
has been called for a DLL, the branch that calls dlsym() or
GetProcAddress() to find symbols from that library by their shared
object symbol names gets completely disabled; only the registered
function names known to R matter at this point.

> Or can one register these routines somehow even though they are not
> following one of the standard calling conventions?

It sounds unsatisfying, but if you register your user_unif_rand
function with the right name and any of the ABIs supported by R, it
sounds like it should work as long as you never call it using the
.Call/.C/.Fortran ABI it's registered for.

-- 
Best regards,
Ivan

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

Reply via email to