On 6 July 2015 at 17:24, Peng Yu wrote: | BTW, I checked all the packages that depend on Rcpp one way or | another. All the packages which use FORTRAN only have .f files but not | .f90 files. Is it an coincident or it is known that R does not support | .f90 well?
A _15 second_ search of Writing R Extensions reveals this in Section 1.1.5: The sources and headers for the compiled code are in 'src', plus optionally a file 'Makevars' or 'Makefile'. When a package is installed using 'R CMD INSTALL', 'make' is used to control compilation and linking into a shared object for loading into R. There are default 'make' variables and rules for this (determined when R is configured and recorded in 'R_HOME/etcR_ARCH/Makeconf'), providing support for C, C++, FORTRAN 77, Fortran 9x(5), Objective C and Objective C++(6) with associated extensions '.c', '.cc' or '.cpp', '.f', '.f90' or '.f95', '.m', and '.mm', respectively. We recommend using '.h' for headers, also for C++(7) or Fortran 9x include files. (Use of extension '.C' for C++ is no longer supported.) Files in the 'src' directory should not be hidden (start with a dot), and hidden files will under some versions of R be ignored. It is not portable (and may not be possible at all) to mix all these languages in a single package, and we do not support using both C++ and Fortran 9x. Because R itself uses it, we know that C and FORTRAN 77 can be used together and mixing C and C++ seems to be widely successful. Note the second paragraph: So f90 and C++ do NOT go together. Dirk -- http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org _______________________________________________ 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