Tim, thank you for reply!
Everything was fine when I tried simple 2D array. Then I moved to real problem and got some errors... please check:
-----test.c-----
#include <stdio.h>
double test(double ****param) {
return param[1][1][1][1];
}
----Julia-----
# ar is Array{Float64,4}
sz = size(ar)[1:end]
Aptrs = Array{Ptr{eltype(ar)}}(sz)
for I in CartesianRange(sz)
Aptrs[I] = pointer(ar, sub2ind(size(ar), 1, I.I...))
end
println(ccall(("test","test"),Float64,(Ptr{Ptr{Ptr{Ptr{Float64}}}},), Aptrs))
something is wrong here...
пятница, 4 ноября 2016 г., 17:19:17 UTC+3 пользователь Tim Holy написал: