Rev 59040 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
% File src/library/tools/man/checkFF.Rd% Part of the R package, http://www.R-project.org% Copyright 1995-2012 R Core Team% Distributed under GPL 2 or later\name{checkFF}\alias{checkFF}\alias{print.checkFF}\title{Check Foreign Function Calls}\usage{checkFF(package, dir, file, lib.loc = NULL,verbose = getOption("verbose"))}\description{Performs checks on calls to compiled code from R code. Currently onlychecks whether the interface functions such as \code{.C} and\code{.Fortran} are called with a \code{"\link{NativeSymbolInfo}"}first argument or with argument \code{PACKAGE} specified, which ishighly recommended to avoid name clashes in foreign function calls.}\arguments{\item{package}{a character string naming an installed package. Ifgiven, the installed R code of the package is checked.}\item{dir}{a character string specifying the path to a package's rootsource directory. This should contain the subdirectory \file{R}(for R code). Only used if \code{package} is not given.}\item{file}{the name of a file containing R code to be checked. Usedif neither \code{package} nor \code{dir} are given.}\item{lib.loc}{a character vector of directory names of \R libraries,or \code{NULL}. The default value of \code{NULL} corresponds to alllibraries currently known. The specified library trees are used tosearch for \code{package}.}\item{verbose}{a logical. If \code{TRUE}, additional diagnostics areprinted (and the result is returned invisibly).}}\details{Note that we can only check if the \code{name} argument is a symbol ora character string, not what class of object the symbol resolves toat run-time.If the package has a namespace which contains a \code{useDynLib}directive, calls in top-level functions in the package are notreported as their symbols will be preferentially looked up in the DLLnamed in the first \code{useDynLib} directive.As from \R 2.15.2, this also checks that calls with \code{PACKAGE}specified are to the same package, and reports separately those whichare in base packages and those which are in other packages (and ifthose packages are specified in the \file{DESCRIPTION} file). Directcalls to the FORTRAN entry points for LINPACK in \R itself are notreported (but this does not include modifications of LINPACK routinessuch as \code{dqrls}).}\value{An object of class \code{"checkFF"}, which currently is a list of the(parsed) foreign function calls with a character first argument andno \code{PACKAGE} argument.There is a \code{print} method to display the information contained insuch objects.}\seealso{\code{\link{.C}},\code{\link{.Fortran}};\code{\link{Foreign}}.}\examples{\donttest{ # order is pretty much randomcheckFF(package = "stats", verbose = TRUE)}}\keyword{programming}\keyword{utilities}