[問題] 用 R 呼叫 .dll 或 .so

看板R_Language作者 (Neisseria)時間8年前 (2017/01/17 14:58), 8年前編輯推噓0(006)
留言6則, 1人參與, 最新討論串1/1
[問題類型]: 效能諮詢(我想讓R 跑更快) [軟體熟悉度]: 入門(寫過其他程式,只是對語法不熟悉) [問題敘述]: 最近在練習用 Rust 寫 library,輸出給其他高階語言用。 目前已經成功從 Python、Ruby 及 PHP 呼叫該 lib,也想試著輸出到 R 看看。 有試著讀過 R extension 手冊和 Rcpp 的書,但看不太懂 有比較友善的 FFI (foreign function interface) 嗎? 如果真的不行,就再回頭啃 R extension 手冊 Orz [程式範例]: [環境敘述]: 主要在 Debian Linux 和 Mac 上撰寫程式,Windows 較少使用 [關鍵字]: R extension, Rcpp -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.216.1.86 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1484636289.A.690.html ※ 編輯: Neisseria (61.216.1.86), 01/17/2017 14:58:28

01/17 17:04, , 1F
就是一般的dynamic linking
01/17 17:04, 1F

01/17 17:05, , 2F
你可以利用Sys.setenv("PKG_CXXFLAGS"="...")來設定額外
01/17 17:05, 2F

01/17 17:05, , 3F
compiling要用的flag, Sys.setenv("PKG_LIBS"="...") 設
01/17 17:05, 3F

01/17 17:05, , 4F
訂額外要使用的linking flag
01/17 17:05, 4F

01/17 17:05, , 5F
比較簡單的方式是用Rcpp::sourceCpp(<.cpp file path>)
01/17 17:05, 5F

01/17 17:06, , 6F
你去查一下Rcpp attributes, 先從hello worlds 試試看
01/17 17:06, 6F
文章代碼(AID): #1OVS21QG (R_Language)
文章代碼(AID): #1OVS21QG (R_Language)