【发布时间】:2013-06-01 23:06:40
【问题描述】:
我尝试设置 RInside 的一些回调,但我意识到有一个变量 RINSIDE_CALLBACKS 的定义可以防止函数编译导致链接器错误
void RInside::set_callbacks(Callbacks* callbacks_)
如何安装 rinside 并在定义了 RINSIDE_CALLBACKS 的情况下强制编译?
提前致谢
【问题讨论】:
我尝试设置 RInside 的一些回调,但我意识到有一个变量 RINSIDE_CALLBACKS 的定义可以防止函数编译导致链接器错误
void RInside::set_callbacks(Callbacks* callbacks_)
如何安装 rinside 并在定义了 RINSIDE_CALLBACKS 的情况下强制编译?
提前致谢
【问题讨论】:
我不知道你知道多少 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
注意关于实验性的评论,并了解您将启用“未发布”和 不支持的代码。如果你有时间去做,那就太好了。如果没有,那么……
【讨论】: