Hi Dirk, > | I'm wondering how you've gotten on with this. I'm struggling with a > | somewhat similar problem in my own package. This uses the 'Rcpp modules' > | to provide an interface to a couple of C++ functions. This works very > | well, but accessing the objects (created by new()) after a save/reload > | cycle results in R crashing. > > It is a known shortcoming.
that's what I understood, but it's good to have it confirmed. > I think this is the right route. And we now have access to serialize() from > the C/C++ side (via the small package RApiSerialize which I used in > RcppRedis). It should not be too hard to move towards something like > saveRDS/readRDS. Maybe you can experiment with explicitly deserialization > of the 'payload' of your object, and then recreate it? I'll have to have a look at that, and see how I can use it. > There were some old discussions when Modules was new and fresh, but nobody > has worked out a solution. It should be doable, though, or at least > "approximatively". But we can rely on just 'save' or 'saveImage'. We need > to do the extra step. I have a feeling that I've read at least part of that discussion, but I was unable to find the thread again. In particular I have a feeling that the use of .Last() was discussed. I played around a bit with interposing save() and defining a .Last() function (for details, see my previous email to Fernando), and this works, but has potential to conflict with other packages and hence cannot provide any guaranteed behaviour. > | I'd also like to say that I _really_ appreciate Rcpp, especially the > | sourceCpp function; it's makes R comfortable to use. Thanks to the > | developers. > Thanks for the kind words. Many of us use it too :) I'm afraid that resorting to sourceCpp is often easier than trying to find out how to do something efficiently in R. Not sure if that's good for my R skills, but at least I can get my work done. And I do get a feeling that there are things that really can't be done fast in R, so being able to easily drop down into C++ makes it easy to do what otherwise would be either difficult or very slow. cheers, Martin -- Martin Jakt Department of Systems Medicine Mitsunada Sakaguchi Laboratory Keio University School of Medicine _______________________________________________ Rcpp-devel mailing list Rcpp-devel@lists.r-forge.r-project.org https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel