搜索
人大经济论坛 附件下载

附件下载

所在主题:
文件名:  code_debug.zip
资料下载链接地址: https://bbs.pinggu.org/a-1260209.html
附件大小:
203.99 KB   举报本内容
我写了一段Fortran 90程序,在GUN Fortran中运行了一下没有问题,但是R中无法加载。。。


问题已经自己解决了,谢谢关注!
在网上找了很多资料,我是这样做的。
首先,用记事本将下面的subrountine程序保存成alg1.f90文件
subroutine alg1(IC_result,k,p,a,w)
implicit none
integer,intent(in)::k
integer I,J,m1,m2,n,q,IC1,IC2,IC3,IC,z,sum1,sum2,col
integer,intent(out)::IC_result(:,:)
integer,intent(in)::p(:,:)
allocatable IC_result
integer,intent(in)::a(2**k,k)
integer temp(2**k,k)
real,intent(in)::w(2**k,k)
allocate(IC_result(ubound(p,1),1))
...
endsubroutine alg1

然后,在Win7 开始 命令行中运行R CMD SHLIB alg1.f90,
有警告如下:
cygwin warning: MS-DOS style path deteched:...
Preferred POSIX equivalent is:...
但好像都是有关路径的问题,文件夹中已经生成了alg1.dll文件。


之后测试是否能够加载:
setwd("D:\\code_debug")
dyn.load("alg1.dll")

> is.loaded("alg1.dll")
[1] FALSE
加载失败了。。。

但是当我用R调用的时候就会死掉。。
setwd("D:\\code_debug")
dyn.load("alg1.dll")
P<-read.table("P.dat")
W<-read.table("W.txt")
A<-read.table("A.dat")
res<-matrix(0,48,1)
ret <- .Fortran("alg1", IC_result=as.matrix(res),k=3,p=as.matrix(P),a=as.matrix(A),w=as.matrix(W))

到这里R就死了。。。






    熟悉论坛请点击新手指南
下载说明
1、论坛支持迅雷和网际快车等p2p多线程软件下载,请在上面选择下载通道单击右健下载即可。
2、论坛会定期自动批量更新下载地址,所以请不要浪费时间盗链论坛资源,盗链地址会很快失效。
3、本站为非盈利性质的学术交流网站,鼓励和保护原创作品,拒绝未经版权人许可的上传行为。本站如接到版权人发出的合格侵权通知,将积极的采取必要措施;同时,本站也将在技术手段和能力范围内,履行版权保护的注意义务。
(如有侵权,欢迎举报)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

GMT+8, 2026-1-10 17:08