gpt4 book ai didi

julia - 在 Julia 中将指向结构的指针作为参数传递

转载 作者:行者123 更新时间:2023-12-02 04:48:53 25 4
gpt4 key购买 nike

我有一个对应于 C 结构的类型定义如下:

type fakeCStruct
a::Uint8;
b::Uint32;
end
var=fakeCStruct(3,4);

如何将指向此类型的指针作为输入参数(即 struct CStruct *)传递给 ccall 中的 C 函数?

旧文档 (v0.3) 建议在 ccall 的输入参数列表中使用 &var。然而,该语句在 v0.4 文档中被删除(同样,&var 在 v0.4 中不起作用)。

最佳答案

使用Ref{fakeCStruct}:

r = Ref(fakeCStruct(3, 4))
ccall((:somefunction, "lib"), Void, (Ref{fakeCStruct},), r)

来自 System Independent 表中的 Julia 文档 here :

C name:                                                   |   Julia base type
T* (where T represents an appropriately defined type) | Ref{T}

关于julia - 在 Julia 中将指向结构的指针作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30561521/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com