从VC+调用R函数+; 我需要在C++代码中运行R的统计函数。有没有办法从C++代码中调用它们?我使用的是VS2005,我是否需要包含任何头文件或链接任何库?我使用他们网站提供的标准Windows安装程序安装了R
关于,简单地说:从VC+调用R函数+; 我需要在C++代码中运行R的统计函数。有没有办法从C++代码中调用它们?我使用的是VS2005,我是否需要包含任何头文件或链接任何库?我使用他们网站提供的标准Windows安装程序安装了R,c++,r,visual-c++,C++,R,Visual C++,关于,简单地说: 正如我们经常提到的,R本身并不是在 VS*实现C代码的硬连接,但可能和C++代码 不可能(因为函数头信息未标准化) 根据标准,Rcpp和RInside在Windows上都能很好地工作 Windows工具链。(RInside确实存在错误,但现在已修复。) Rcpp FAQ中有更多关于VS*的内容(即,你不能期望这一点) 如果R本身不能与编译器一起工作,则可以工作) 如果您必须使用VS*,那么最好的选择可能是更松散的耦合 通过网络和使用Rserve 如果您可以切换编译器,那么Rc
- 正如我们经常提到的,R本身并不是在 VS*实现C代码的硬连接,但可能和C++代码 不可能(因为函数头信息未标准化)
- 根据标准,Rcpp和RInside在Windows上都能很好地工作 Windows工具链。(RInside确实存在错误,但现在已修复。) Rcpp FAQ中有更多关于VS*的内容(即,你不能期望这一点) 如果R本身不能与编译器一起工作,则可以工作)
- 如果您必须使用VS*,那么最好的选择可能是更松散的耦合 通过网络和使用Rserve 如果您可以切换编译器,那么Rcpp/RInside可能会引起兴趣;和 R API的其余部分也可供您使用
- Rcpp等拥有丰富的文档,包括Rcpp简介pdf(这是 还有同行评议的文章)和前面提到的Rcpp常见问题解答——以及一个专门的邮件列表
请不要越过柱子。我也只是回答了这个问题。< P>所提供的RADIUS的二进制版本不是在微软Visual C++下构建的。在文件ReadMe.txt中,作者指出没有针对Windows的配置,但有一个特殊的Makefile.win。通过使用“make-f Makefile.win”,我们没有成功地构建它,因为没有提供config.h文件(仅提供config.h.in)
//#包括“config.h”
rsrv.h(384):致命错误C1189:#错误:“无法确定endianness。请确保包含config.h或定义了{BIG | LITTLE}endianness。”
作者:
使用Winsock的应用程序必须与Ws2_32.lib库文件链接
<>关于RR和微软Visual C++集成的更多细节,访问我发现这是一个有希望的编辑:这是从R调用C++,BUM:(编辑:等等!我发现了一些东西):谢谢卡尔,我已经查过RCPP和RIN,但是他们没有提供足够的细节来处理VS。我希望有人能将R与VS结合使用,并告诉我该怎么做。也许这可以让我们了解一些情况,谢谢,但我在那里找不到太多:(在这里讨论R和C,值得一试:)谢谢德克,我刚刚得到了关于R-help的回复。我想我将不得不使用R以外的东西…或者微软以外的东西。欢迎使用堆栈溢出!虽然这在理论上可以回答这个问题,但在这里包括答案的基本部分,并提供链接供参考。
/* Windows is little-endian is most cases, anywhere else we're stuck*/
# error "Cannot determine endianness. Make sure config.h is included or __{BIG|LITTLE}_ENDIAN__ is defined ."
# endif
/********* MODIFICATION *************/
/* # error "Cannot determine endianness. Make sure config.h is included or __{BIG|LITTLE}_ENDIAN__ is defined ." */
/************************************/
#define _BIG_ENDIAN (*(uint16_t *)?\xff? < 0x100)
/* indicate to the linker that the Ws2_32.lib file is needed */
#pragma comment(lib, "Ws2_32.lib")