ruby-ffi

    3热度

    2回答

    我想返回一个结构,可以从一个外部的防锈功能转换成Ruby数组,但是当我尝试调用结构#to_a方法时,我得到一个段错误。 use libc::size_t; #[repr(C)] pub struct Array { len: libc::size_t, data: *const libc::c_void, } impl Array { fn from_vec

    0热度

    1回答

    继红宝石无限循环停止交流功能是我的方案, 我打电话叫交流功能使用Ruby FFI 子功能无限运行在Ruby中“订阅”而循环 我需要一种方法来阻止这种红宝石订阅(需要停止它运行无限的C函数) 红宝石 require 'ffi' module Queue extend FFI::Library ffi_lib FFI::Library::LIBC attach_fun

    3热度

    1回答

    考虑以下两个FFI结构: class A < FFI::Struct layout :data, :int end class B < FFI::Struct layout :nested, A end 要实例他们: a = A.new b = B.new 现在,当我尝试分配a到b.nested这样的: b[:nested] = a 我收到以下错误: ArgumentEr

    1热度

    1回答

    的代码应该是这样的: def bring_into_scope(module) #here the caller of the method should get methods from +module+ end class Bar def bar_method #do stuff end end class Foo def init

    0热度

    1回答

    我正在为封装C++库的C API编写一个Ruby API。 C API捕获C++库抛出的C++异常。 理想情况下,我可以进入并修改C库以便引发Ruby异常,但由于我使用的是FFI,因此这不是一个真正的选择。 C API将带有“捕获异常:”的异常字符串前置,打印到STDERR,然后继续,基本上忽略该错误。我想在rspec中观察这些类型的字符串。 这可能吗?这确实是在rspec之前完成的,但我不太清楚

    0热度

    1回答

    除了Fiddle是一个来自标准ruby库的模块,并且ruby-ffi是一个外部模块,它们之间的主要区别是什么。 更具体地说,可能是什么原因导致您使用一个在另一个? (除了创建一个外部宝石的依赖的事实除外)。

    0热度

    1回答

    我正在编程的rails应用程序通过ruby的实体从共享对象的外部源获取数据。我有数据进入并在屏幕上显示一次,但是当我尝试使用AJAX进行更新时,我似乎无法正确操作数据。我只想要一些包含要用新数据更新的数据值的div。 Pane_controller: def getAllData init a = getCurrent #a << getRIM a << getWaterTemp a <

    0热度

    1回答

    我目前正在研究C字符串度量标准库,并正在为ruby写入绑定。使用ffi我如何使用char *function(const char *, const char *)这样的签名附加功能?有问题的函数将在malloc堆上分配一个字符串,然后返回一个指向该字符串的指针。 我相信我需要在ruby方法中包装ffi-attached函数,以便我可以将返回的字符串指针转换为ruby字符串并释放旧的指针。

    3热度

    1回答

    当我尝试运行下面的代码, require 'rubygems' require 'bundler/setup' Bundler.require(:default) 我得到以下 $ bundle exec ruby test.rb /home/cameron/.rvm/gems/ruby-1.9.3-p194/gems/ffi-inline-0.0.3/lib/ffi/inliner/co

    0热度

    1回答

    如何在Ruby中使用FFI封装一个接受类型为FILE的参数的函数? ​​