ccall(sym, Void, (Ptr{Ptr{T}},), Aptrs)

When you pass an array via `ccall`, it takes the pointer of the data, which
is why this produces a Ptr{Ptr{T}} from an Array{Ptr{T}}.

Best,
--Tim

On Fri, Nov 4, 2016 at 9:14 AM, Alexander Lyapin <lyapinaalexan...@gmail.com
> wrote:

> but in C i have **double, wich is pointer pointer to array.
> Also in link that I gave, there an example for 2D where it is
> Ptr{Ptr{Float64}}
>
> But anyway, could you give an example for ccall in your case???
>
> пятница, 4 ноября 2016 г., 17:05:57 UTC+3 пользователь Yichao Yu написал:
>>
>> On Fri, Nov 4, 2016 at 9:22 AM, Alexander Lyapin
>> <lyapinaa...@gmail.com> wrote:
>> > There is a topic:
>> > https://groups.google.com/d/msg/julia-users/EK9oNzzaoAk/kJqagPL0Ku0J
>> >
>> > However could some one give an example how to pass 3-d or 4-d array to
>> C
>> > function.
>> >
>> > I have Array{Float64, 4} and for ccall I use
>> Ptr{Ptr{Ptr{Ptr{Float64}}}} as
>> > Type of parameter. Is there some way to make it more common for
>> > Array{Float64, N}??? Thank you
>>
>> No matter what the dimension is,it's always a `Ptr{eltype(array)}` in
>> C (`Ptr{Float64}` in thiscase) and since it's just a normalpointer,
>> you always need topass the dimensions explicitlyto C in another
>> argumetns.
>>
>

Reply via email to