Relevant excerpt from "Writing R Extensions" manual
Then the directive in the NAMESPACE file
useDynLib (myDLL, .registration = TRUE)
causes the DLL to load, as well as for the R variables foo, bar_sym, R_call_sym and R_version_sym, which will be defined in the package namespace.
A translation per person says that this means (approximately) that the default location for all code other than R is in the package namespace. Hence the need for the triple intestine.
So, if you find .Call(something,args) in the code, you can call it from comandline to .Call(package:::something,args) . This is why a simple call to C_pKolmogorovx did not work. R did not find it because the package namespace is for the package, not the user.
If you want to know where the external code is, you need to examine 2 files. First, use the NAMESPACE package to find out if useDynLib to register external code functions, and then look in the src/init.c , where all available external code functions from the package are registered.
mpiktas
source share