dyn.load崩溃没有任何线索

我试图使用dyn.load命令来加载外部DLL库,但每次运行该命令后都会关闭我的R会话。 我使用的是Windows 10,这里是我的R版本:

版本_
平台x86_64-w64-mingw32
arch x86_64
os mingw32
系统x86_64,mingw32
状态
重大3
次要1.3
2015年
03月
09日
svn rev 67962
语言R
version.string R版本3.1.3(2015-03-09)昵称Smooth Sidewalk

测试这个,这里是一个简单的代码来锁定屏幕使用Windows本机DLL:

dyn.load("C:WindowsSystem32user32.dll")
.Call("LockWorkStation")

它正在锁定我的屏幕,但是当我登录回来时,我的R会话正在崩溃。


dyn.load()并不是一种通常加载DLL的方式,而是加载由R的编译器工具链创建的DLL,如Writing R Extensions手册中所述。

可以通过在Makevars.win文件中链接到它们来使用DLL

PKG_LIBS = -L$(XXX_DIR)/lib -lxxx

如1.2.1使用Makevars的末尾所讨论的,但这意味着在DLL周围编写C包装。

我不是Windows和R方面的专家,在R中依赖特定于平台的库是非常不寻常的,所以请用我的评论来评论一下。


如果我改变,似乎它会起作用。 .Call .C 。 我的结论,如果你知道如何运行DLL函数(使用.Call.C.External也许.Fortran ),你可以在河使用一般的DLL

链接地址: http://www.djcxy.com/p/77281.html

上一篇: dyn.load crashes without any clue

下一篇: I am unable to download the reshape2 package in R