在C中使用R用户定义的函数

时间:2014-10-27 14:35:09

标签: c r function interface call

我正在尝试扩展一个完全用C语言编写的R包。我有以下问题:在C代码中我想调用R用户定义的函数作为优化例程。然而,当我尝试追踪优化中的主要步骤时,我(或多或少)能够遵循C源代码中的步骤,但是一旦我尝试理解如何从R调用optim(通过.External2)我甚至无法弄清楚通过.External2传递给optim的参数之间的联系是什么。具体而言,在src/library/stats/src/optim.c我们有以下

SEXP optim(SEXP call, SEXP op, SEXP args, SEXP rho)

并且在src/library/stats/R/optim.R中我们有(我想的是)以这种方式调用optim

.External2(C_optim, par, fn1, gr1, method, con, lower, upper)

如何通过.External2?

将参数调用,op,args和rho传递给optim

几年前,我读到了一个函数R_call或类似的函数来将R函数调用到C.我记得即使在那个时候这个函数也被弃用了,但它只是为了弄清楚我需要的东西。

0 个答案:

没有答案