【发布时间】:2017-04-12 13:24:13
【问题描述】:
我正在使用 NativeCall 接口。
库会多次调用我的回调函数。
效果很好。我可以用正确的方式声明我的回调 签名,将其作为 &callback 传递,库只调用 sub 很好。
它还可以将有效负载 void *pointer 设置为任何东西 我想要,它将包含在对我的回调函数的调用中。
我可以隐藏一个 Perl Str,例如,在有效负载中并成功往返吗?
sub set_userdata(Pointer) returns int32 is native { ... }
sub set_callback(&callback(Pointer $userdata --> int32)) returns int32 is native { ... }
sub callback(Pointer $userdata) returns int32 {
my Str $mystring = ???
...
}
my Str $my-userdata-string;
set_userdata(???);
set_callback(&callback);
它似乎可以与一些绑定咒语一起使用,“is rw”、nativecast() 和/或 .deref。
【问题讨论】:
-
没有接受的答案,希望 OP 可以帮助读者了解以下哪些答案是/最有用的。谢谢。
标签: raku nativecall