以前一直只知道用R可以调用C程序,昨天猛然一试发现C也可以调用R的。大家不妨看看R目录include子目录里的Rmath.h看看,里面定义了一系列跟分布有关的函数,也就是我们常用的rdpq系列。但是这个头文件中只有定义,这些函数的实现已经被编译到bin目录下的R.dll中了(这里都是指Windows系统)。下面就简单演示一下怎么在C中调用这些函数。
首先,建立一个能让程序安身立命的文件夹(其实是废话……);
其次,配置一下能让程序安身立命的环境,主要是把R的bin文件夹添加到系统路径,然后需要有GCC编译器(Rtools中自带了);
第三,把R目录下的include文件夹以及bin文件夹中的R.dll拷贝到刚才那个安身立命的文件夹中,并把R.dll重命名为libR.dll;
第四,编写C语言文件,示例如下:
<pre …