【问题标题】:RInside CallbacksRInside 回调
【发布时间】:2013-06-01 23:06:40
【问题描述】:

我尝试设置 RInside 的一些回调,但我意识到有一个变量 RINSIDE_CALLBACKS 的定义可以防止函数编译导致链接器错误

 void RInside::set_callbacks(Callbacks* callbacks_)

如何安装 rinside 并在定义了 RINSIDE_CALLBACKS 的情况下强制编译?

提前致谢

【问题讨论】:

    标签: r rcpp rinside


    【解决方案1】:

    我不知道你知道多少 C / C++,但RInside.cpp 中使用的成语

    RInside::RInside()
    #ifdef RINSIDE_CALLBACKS
        : callbacks(0)
    #endif
    {
        initialize(0, 0, false, false, false);
    }
    

    使用这样的ifdef 通常取决于正在生成的定义,或者作为编译器选项(例如-Dfoo 将定义foo)或在头文件中。这就是我们在RInsideConfig.h 中所做的事情:

    // uncomment to turn on the experimental callbacks
    // #define RINSIDE_CALLBACKS
    

    注意关于实验性的评论,并了解您将启用“未发布”和 不支持的代码。如果你有时间去做,那就太好了。如果没有,那么……

    【讨论】:

    • Dirk 我知道这个问题,但 RInside 由 RStudio 编译和安装,参数我无法自行设置,有没有办法干预并将定义 -DRINSIDE_CALLBACKS 添加到 RStudio 编译参数?
    • 当然你可以自己设置参数,这叫编辑源文件...
    猜你喜欢
    • 2011-07-05
    • 1970-01-01
    • 1970-01-01
    • 2013-03-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多