Hi, On Wed, Apr 20, 2011 at 9:49 AM, Sean Robert McGuffee <sean.mcguf...@gmail.com> wrote: > Hi, I have a quick couple of questions about some of the documentation on > the web page: > http://cran.r-project.org/doc/manuals/R-exts.html#Linking-GUIs-and-other-front_002dends-to-R > under the heading: > 5.6 Interfacing C++ code > > Question 1: > If I’m at a terminal, I can type the instructions they suggest: > R CMD SHLIB X.cc X_main.cc > If I wanted a package to do this, how would I tell the package to do that > same thing?
Just to make sure we're all on the same page, you want an R package to compile some source code into a shared library/dll from inside R? Not sure if there's a "baked in" way for that to happen, but maybe you can invoke `R CMD WHATEVER` from inside R using the `system` function: R> ?system > Would I use the same command and just include it in a file somewhere in the > package? > If so, which file? Hmm ... I'm curious what you're trying to do, exactly? > Question 2: > dyn.load(paste("X", .Platform$dynlib.ext, sep = "")) > > Where does .Platform$dynlib.ext come from? > What does it mean? > What do it’s components .Platform and $dynlib and .ext mean? .Platform is lust a normal list -- it is defined internally (I guess). You can access "named" elements of a list with `$`. .Platform$dynlyb (or .Platform[['dynlib']]) tells you the extension your particular system uses for shared libraries: R> .Platform $OS.type [1] "unix" $file.sep [1] "/" $dynlib.ext [1] ".so" $GUI [1] "X11" $endian [1] "little" $pkgType [1] "mac.binary.leopard" $path.sep [1] ":" $r_arch [1] "x86_64" See ?.Platform for more help. -- Steve Lianoglou Graduate Student: Computational Systems Biology | Memorial Sloan-Kettering Cancer Center | Weill Medical College of Cornell University Contact Info: http://cbio.mskcc.org/~lianos/contact _______________________________________________ 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