當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R checkFF 檢查外部函數調用


R語言 checkFF 位於 tools 包(package)。

說明

對 R 代碼對編譯代碼的調用執行檢查。目前僅檢查.C.Fortran 等接口函數是否使用"NativeSymbolInfo" 第一個參數或指定的參數PACKAGE 進行調用,強烈建議這樣做以避免外部函數調用中的名稱衝突。

用法

checkFF(package, dir, file, lib.loc = NULL,
        registration = FALSE, check_DUP = FALSE,
        verbose = getOption("verbose"))

參數

package

命名已安裝包的字符串。如果給出,則檢查包的已安裝 R 代碼。

dir

指定包根源目錄路徑的字符串。這應該包含子目錄‘R’(對於 R 代碼)。僅在以下情況下使用package沒有給出。

file

包含要檢查的 R 代碼的文件的名稱。如果未給出packagedir,則使用。

lib.loc

目錄名稱的字符向量R Library ,或NULL.默認值為NULL對應於當前已知的所有庫。指定的庫樹用於搜索package.

registration

一個合乎邏輯的。如果是 TRUE ,則檢查調用的注冊信息(如果可用)。

check_DUP

一個合乎邏輯的。如果報告TRUE.C.Fortran 調用DUP = FALSE

verbose

一個合乎邏輯的。如果是 TRUE ,則會打印附加診斷信息(並且結果會以不可見的方式返回)。

細節

請注意,我們隻能檢查 name 參數是符號還是字符串,而不能檢查符號在運行時解析為哪個對象類。

如果包的命名空間包含 useDynLib 指令,則不會報告包中頂級函數的調用,因為它們的符號將優先在第一個 useDynLib 指令中指定的 DLL 中查找。

這會檢查調用PACKAGE指定的是同一個包,並分別報告基礎包中的包和其他包中的包(如果這些包在‘DESCRIPTION' 文件)。

"checkFF" 的對象。

formatprint 方法來顯示此類對象中包含的信息。

例子

 # order is pretty much random
checkFF(package = "stats", verbose = TRUE)

也可以看看

.C.FortranForeign

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Check Foreign Function Calls。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。