gpt4 book ai didi

R:从现有连接中读取已编译的代码

转载 作者:行者123 更新时间:2023-12-04 12:46:33 24 4
gpt4 key购买 nike

我希望能够从任意R连接(在?connections的意义上)进行读取,该连接将由用户传递给R函数,然后通过.Call分解为某些C代码。

R api在文件R_ext/Connections.h中,指定一个函数R_ReadConnection,该函数将指向Rconn结构的指针作为其第一个参数,并执行我想要的操作。该结构本身也在该 header 中定义,但是除了getConnection(C函数)(它不是API的一部分)之外,我看不到任何其他类型的结构的检索方法。据我所知,与连接关联的外部指针也没有直接指向该结构。

因此,有人可以告诉我是否存在将受支持的SEXP转换为指向关联Rconn结构的指针的支持方法?

提前致谢。

最佳答案

R API函数R_GetConnection()已在R 3.3.0中添加。它执行从SEXPRconn的指针(也称为Rconnection)的转换。因此,解决方案现在是

#include <R_ext/Connections.h>

SEXP myfunction (SEXP conn_)
{
Rconnection conn = R_GetConnection(conn_);
// Do something with the connection

return R_NilValue;
}
这是 documented in NEWS :

R_GetConnection() which allows packages implementing connectionsto convert R connection objects to Rconnection handles. Codewhich previously used the low-level R-internal getConnection()entry point should switch.

关于R:从现有连接中读取已编译的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35483523/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com