R语言-R调用C++程序

今天本人学习了如何利用R语言来调用C++程序。为什么要这么多呢? 因为R语言虽然方便,但是计算太慢了,尤其是在循环语句方面的使用,R语言简直是无法忍受,所以在R语言中为了提高速度,必要时候还得改用C++来实现。

在R语言中要调用C++是通过Rcpp这个包来实现的。所以要先安装Rcpp这个包咯!安装完成后本人就开始来写C++部分的代码了,框架如下图

R语言-R调用C++程序

在R语言传给C++的参数中,有R的各种类型,比如向量,矩阵等等。具体转化规则可以参考资料。

写完上述C++代码后,就可以来编译成*.so文件了。编译脚本如下

R语言-R调用C++程序

保存后执行sh compile.sh,然后得到了test.so文件。

接着,本人开始编写test.R文件来使用它了。代码如下

R语言-R调用C++程序

接下来就是最后一步了,即执行test.R文件。如下结果

R语言-R调用C++程序

好了到了这里相信大家都知道如何利用R来调用C++了吧!接下来认识一些R到C++转化类型。

R语言-R调用C++程序

今天只是一个开头,更多内容需要读者自己进一步学习!!!!!

将C语言梳理一下,分布在以下10个章节中:

  1. Linux-C成长之路(一):Linux下C编程概要 http://www.linuxidc.com/Linux/2014-05/101242.htm
  2. Linux-C成长之路(二):基本数据类型 http://www.linuxidc.com/Linux/2014-05/101242p2.htm
  3. Linux-C成长之路(三):基本IO函数操作 http://www.linuxidc.com/Linux/2014-05/101242p3.htm
  4. Linux-C成长之路(四):运算符 http://www.linuxidc.com/Linux/2014-05/101242p4.htm
  5. Linux-C成长之路(五):控制流 http://www.linuxidc.com/Linux/2014-05/101242p5.htm
  6. Linux-C成长之路(六):函数要义 http://www.linuxidc.com/Linux/2014-05/101242p6.htm
  7. Linux-C成长之路(七):数组与指针 http://www.linuxidc.com/Linux/2014-05/101242p7.htm
  8. Linux-C成长之路(八):存储类,动态内存 http://www.linuxidc.com/Linux/2014-05/101242p8.htm
  9. Linux-C成长之路(九):复合数据类型 http://www.linuxidc.com/Linux/2014-05/101242p9.htm
  10. Linux-C成长之路(十):其他高级议题

相关推荐