首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何调用在R中作为C# .net COM dll文件提供的SDK

如何调用在R中作为C# .net COM dll文件提供的SDK
EN

Stack Overflow用户
提问于 2010-12-17 18:04:37
回答 4查看 926关注 0票数 0

我会将自己描述为一个中级R用户,但完全是一个C/C++/C#新手。我目前的任务是使用供应商提供的SDK从商业系统中提取数据。这是以dll文件形式提供的,我还有一些C+和C#代码的文档和示例。

从R中调用这些C函数并获取数据的最佳方式是什么?有人能推荐一些好的(介绍性的)阅读材料或例子吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-12-17 23:49:25

拥有一个供应商支持的SDK是很好的第一步。我已经从这一点开始了几次。

一个问题可能是SDK很可能是用Visual Studio构建的。一般来说,在不同的编译器之间混合C++代码是非常困难的(因为生成的代码会在损坏的函数签名中有所不同)。所以这里可能没有适合您的Rcpp,因为您有可使用的兼容库。

另一方面,C可以工作。仍然存在一些问题,因为您可能需要创建一些额外的文件,以使Visual Studio创建的库与您必须与R一起使用的MinGW链接器兼容。有关详细信息,请访问MinGW站点。现在,C可以说是一个比C++更乏味的接口,但至少你有机会让它工作。多年前,我使用Bloomberg C SDK将R连接到Bloomberg终端后端(而当前的RBloomberg包使用Java)。

最后,C#和(D)COM路由可能会工作,但我没有这方面的经验。

票数 1
EN

Stack Overflow用户

发布于 2010-12-18 02:37:51

您可以将此过程分为两个阶段。首先,编写一个从dll (例如,参见http://www.adp-gmbh.ch/csharp/call_dll.html)检索数据并将其写入文本文件的小C#程序。然后从文本文件中导入数据,并在R中进行分析。

票数 1
EN

Stack Overflow用户

发布于 2010-12-17 18:33:40

根据dll文件(是否为.NET ),您可以从.NET中访问它的函数。如果您不能使用.NET,则需要使用互操作来从C#:http://msdn.microsoft.com/en-us/library/aa645736(v=vs.71).aspx中调用这些函数

至于R和C#:这里有一个从C#:http://joachimvandenbogaert.wordpress.com/2009/03/26/r-and-c-on-windows/内部调用R的指针,你可能已经注意到了,不幸的是,我没有维护这个主题,因为我切换到了Java。

对于完全自动化的解决方案,您可以从C#内部调用SDK,并将其传递给C#的R连接器。为了解决方案的灵活性,我建议将C#中的R代码设置为可配置的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4469409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档