加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何在RubyFFI中将结构指定为函数的返回值?

发布时间:2020-12-17 02:52:04 所属栏目:百科 来源:网络整理
导读:我必须加载几个从库本身返回结构的函数. attach_function 'fn_name',[],# ... What do I put here? RubyFFI的Wiki页面似乎已经过时了,所以我在这里有点迷失. 如何创建FFI :: Struct,如何将其指定为本机函数的返回类型? 解决方法 class SOME_STRUCT FFI::Str
我必须加载几个从库本身返回结构的函数.

attach_function 'fn_name',[],# ... What do I put here?

RubyFFI的Wiki页面似乎已经过时了,所以我在这里有点迷失.

如何创建FFI :: Struct,如何将其指定为本机函数的返回类型?

解决方法

class SOME_STRUCT < FFI::Struct 
    layout :a,:float,:b,:float
end

然后

attach_function 'fn_name',SOME_STRUCT

如果是堆栈分配的结构:

typedef struct
{ 
    float a,b; 
} SOME_STRUCT;

你应该用这个:

attach_function 'fn_name',SOME_STRUCT.by_value

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读