R语言与C语言混合编程——R语言中调用C语言函数(Windows+RStudio)

前言:

  1. 第一次接触R中调用C,网上搜索这个问题,有关的记录太少了,并且遇到了不少问题,在此记录R中调用C函数的步骤以及遇到的一些问题及解决方案。
  2. 这也是我的第一篇博客,有何不妥的望指出。

参考链接:

R语言调用C函数 - 旧版本C语言包转移

R中调用c

Using R — Calling C Code ‘Hello World!’

Writing R Extensions

Why? 为什么要R、C混编?

R是一个优秀的统计计算语言,但是因为它是解释型语言, 所以在对数组元素的迭代运算方面会很慢。 在R用C语言程序可以既保留R的易用性又可以在必要时提高速度。——忘了从哪看到的了

通俗的讲就是提高运行速度

主要流程:

1:安装 Rtools、mingw并配置环境

2:在RStudio中运行下面两行代码生成dll文件

   setwd("H:/test/Rcpp_test") #设置c文件的路径

   system("R CMD SHLIB massdistnew.c") #编译c文件

3:载入dll文件并调用C文件的函数:

     dyn.load('H:/test/Rcpp_test/massdistnew.dll')

  y = .C("massdisttest", x = as.double(xtrunc), xmass = as.double(tau[trunc]/sum(tau[trunc])), nx = nx, xlo = as.double(lo), xhi = as.double(up),y = double(2 * n), ny = as.integer(n))$y

具体步骤一:Rto

  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值