[quote]
引用第0楼Ivan于2006-07-14 21:26发表的“R中怎么调用用C编的程序啊?”:
使用的是在winxp下的R-2.3.1
好像是可以的吧?是不是先要将.c文件转换成.dll?具体用什么命令,分几步操作呢?
.......[/quote]
是要编译成dll。
具体怎么做取决于你的c程序是完完全全的c程序,还是在其中用到了R的函数。
如果是前者,直接编译成dll就可以,比如下载一个dev-cpp什么的,菜单操作就够了。
如果你的c程序里面用到了R的函数,那么在windows下面编译可能比较麻烦,最好到linux下编译,R本身是在linux下开发的,所以方便一点;其他unix like也应该可以。
可以参见
http://www.murdoch-sutherland.com/Rtools/,并详读R-admin。
如果你在cygwin下,估计直接 R CMD SHLIB your_c_prg 就可以了吧——我还没尝试过这个。
编译好的的dll或者so用dyn.load载入,is.loaded检测是否载入成功,.C调用。
注:这只是一种比较简单的方法。其他具体内容详见R-exts。