小编rir*_*rir的帖子

如何将 CArray[ of-struct] 从 Raku 传递给 C?

我如何使这项工作?

更新:在搜索包括 Raku 规范测试在内的 Github 之后,我还没有找到任何传递 CArray[of-structs] 的示例。 这里有克里斯托夫在 2017 年发表的一篇文章,给出了一个“解决方法”。

Christoph 的解决方案可能有效,但如果没有更好的方法,在 NativeCall 中会更好。

在 Github 上有一个使用 a 的 Rakudo 测试,int TakeAStructArray(Struct **structs)如果您可以编写一个 C 函数来重新打包其 args 以转发到 a ,这可能会有所帮助TakeAnArrayOfStruct( struct Struct[])

下面,JJMerelo 秒我怀疑由于 Rakudo 中的错误而失败。

我有一个C函数,它使用类似于 NativeCall 文档中使用的 timespec 结构:

结构体{

int show2( struct TS ts[2] ) { printf( "show2: (1) %ld %ld (2) %ld %ld\n", ts[0].ot, ts[0].one, ts[ 1].ot, ts[1].one); 返回0;从C调用时工作正常。

从 Raku (moar) 调用不起作用:

class …
Run Code Online (Sandbox Code Playgroud)

nativecall raku

10
推荐指数
1
解决办法
158
查看次数

标签 统计

nativecall ×1

raku ×1