在Windows 7(64位)上从julia调用C函数

时间:2017-03-03 16:38:23

标签: julia

Version 0.6.0-pre.alpha.34(2017-03-03 04:10 UTC)

现在我找到的所有文档都是这样的

ccall((:clock, "libc"), Int32, ())

我工作的环境在他的路径中没有libc所以我需要像这样指定它

julia> isfile("C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\lib\\amd64\\msvcrt.lib") 
true
julia> ccall((:clock, "C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\lib\\amd64\\msvcrt.lib"), Int32, ())
ERROR: error compiling anonymous: could not load library "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\amd64\msvcrt.lib"

所以现在我不知道该怎么做。错误消息是无用的,afaik msvcrt.lib是windows libc替代。

1 个答案:

答案 0 :(得分:3)

msvcrt.lib不是动态库,而是msvcrt.dll,它应该在C:\\Windows\\system32\\msvcrt.dll中。由于默认情况下加载的stadard C库ccall可以使用:clock而没有库名。

ccall(:clock,Int32,())