[Rcpp-devel] Shared code in C++ files
Kyle Baron
kyleb at metrumrg.com
Fri Apr 15 06:16:51 CEST 2016
Here is a MWE of the workflow I was describing for passing a user-d
https://gist.github.com/kylebmetrum/6b31775702e1b8441a1cff669aeb0f1d
I used sourceCpp() to mimic the code in an R package and used R CMD SHLIB
to compile the user function. It would be great to be able to use
sourceCpp() to compile the user function too, but I wasn't sure how to
determine the name of the dll (to pass as PACKAGE to getNativeSymbolInfo()).
Anyway ... maybe there is a simpler way to do it. But this is basically
what I do in mrgsolve.
Best Regards,
Kyle
On Thu, Apr 14, 2016 at 5:03 PM, Dirk Eddelbuettel <edd at debian.org> wrote:
>
> On 14 April 2016 at 17:28, Martin Lysy wrote:
> | I am very grateful for your input/recommendations. Let me try to wrap
> my head
> | around how to do this with a single package and get your approval on an
> MWE.
>
> That's the spirit, and we'll try to help.
>
> I won't claim that this is _trivial_ but it is _very expressive_ and
> powerful. A worked example is in RcppDE: user-provided objective function
> as C++ code, passed down to the bowels of the optimizer. The interface
> takes
> a little getting used but I think we have both a Rcpp Gallery piece on it,
> and I used it as a running example in a few talks to Google may lead us to
> the right slide deck.
>
> That said, no point in overcomplicating things but ... your initial problem
> was a self-inflicted linking issue just because you wanted to avoid a
> package.
>
> Don't.
>
> Let users work with with sourceCpp() or cppFunction(). What comes out is a
> callable R object to just pass into your code. That's all you need.
>
> Good luck, Dirk
>
> PS And whatever you do don't listen to your colleage Markus Hofter who has
> really weird coding habits too. Just kidding. Tell him I said Hi.
>
> --
> http://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org
>
--
Kyle Baron
Metrum Research Group
860-735-7043, Ext. 202
kyleb at metrumrg.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/rcpp-devel/attachments/20160414/46621c02/attachment.html>
More information about the Rcpp-devel
mailing list