问题标签 [ruby-ffi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
104 浏览

javascript - 如何使用 rails 和 javascript 计时器让 AJAX 工作?

我正在编程的 Rails 应用程序通过 ruby​​ 的 ffi gem 从共享对象的外部源获取数据。我已经将数据输入并显示在屏幕上一次,但是当我尝试使用 AJAX 更新时,我似乎无法正确操作数据。我只想要一些包含要使用新数据更新的数据值的 div。

窗格控制器:

Coffeescript AJAX:

index.js.erb(我目前在 app/views/pane/ 中有这个地方):

以下是我的路线:

当我尝试这个时,我得到一个错误,即 Nil 没有方法 [],我知道这意味着数据没有被发送,但我不明白为什么?

编辑* nil no 方法 [] 不再存在,但我仍然无法通过 AJAX 显示新数据,我的 js.erb 文件中的值没有正确填写。

index.html.erb:

这也是日志中生成的内容:

0 投票
1 回答
24 浏览

ruby - 在 rspec 中查看不是异常的错误消息

我正在为封装 C++ 库的 C API 编写 Ruby API。C API 捕获 C++ 库抛出的 C++ 异常。

理想情况下,我可以进入并修改我的 C 库,以便引发 Ruby 异常,但由于我使用的是 FFI,所以这不是一个真正的选择。

C API 在异常字符串前面加上“Caught exception:”,打印到 STDERR,然后继续,基本上忽略了错误。我想在 rspec 中查看这些类型的字符串。

这可能吗?当然这已经在 rspec 中完成了,但我不太确定如何搜索这种功能。

0 投票
1 回答
570 浏览

c - 如何附加使用 ruby​​ ffi 返回字符串的 C 函数?

我目前正在开发一个 C 字符串度量库,并且正在为 ruby​​ 编写绑定。使用ffi如何附加带有签名的函数char *function(const char *, const char *)?有问题的函数将在堆上分配一个字符串,malloc然后返回一个指向该字符串的指针。

我相信我需要将 ffi 附加函数包装在 ruby​​ 方法中,以便我可以将返回的字符串指针转换为 ruby​​ 字符串并释放旧指针。

0 投票
1 回答
275 浏览

c - 是否可以将 ruby​​ ffi 附加的功能设为私有?

我有一个使用 ruby​​ ffi附加函数的共享对象库。我想为每个函数附加一个别名并将别名设为私有,因为调用它们可能很危险。我将每个函数包装在它们自己的 ruby​​ 模块函数中,这是一个简单的示例:

该函数ffi_function似乎仍然可以在模块外部调用。我怎样才能让它完全私有化?

0 投票
1 回答
376 浏览

ruby - 如何使用 ruby​​ ffi gem 调用 rust 库中的独立函数?

我想将ffigem 与rust.

我已经阅读了这篇(相当过时的)博客文章,其中展示了如何做到这一点。

问题是:它不起作用。

这是我的代码:

测试.rs:

测试.rb:

我像这样编译 test.rs:

进而

输出:

我做错了什么?(我已经尝试过pub extern fn......,也不起作用。)

0 投票
1 回答
68 浏览

ruby - 如何将库和 ffi 接口打包为 gem?可能的?

我为我正在从事的项目创建了一个库。本质上,它将 imgSeek 打包为 pHash/phashion 的替代品。有关背景,请参阅此链接:

http://hackerlabs.org/blog/2012/07/30/organizing-photos-with-duplicate-and-similarity-checking/

该库由一个 C/C++ 共享库(带有 makefile 和狗屎)和 ruby​​-ffi 绑定组成。我想打包这个以便其他人可以使用它,但我真的不知道如何。

rubygems 站点文档使用 C 扩展打包了一个 gem,但不是我想要的。

我不确定这是否可能。也许我应该做的是将库发布为常规操作系统包(例如 .deb),然后将 ffi 绑定发布为 gem,并让用户单独安装它们。这听起来像是很多工作。

是否可以将 ffi 绑定和库打包在一起,以便安装 gem 导致构建库?就我个人而言,这让我更容易将此代码提供给任何可能想要使用它的人。

代码在这里:

https://bitbucket.org/dradetsky/ruby-seeklib

https://bitbucket.org/dradetsky/seeklib

https://github.com/dradetsky/ruby-seeklib

https://github.com/dradetsky/seeklib

0 投票
2 回答
534 浏览

ruby - 带有 FFI 段错误的 Rust Vec 到 Ruby 数组

我正在尝试返回一个可以从外部 rust 函数转换为 Ruby 数组的结构,但是当我尝试调用 structs #to_a 方法时出现段错误。

当我尝试在 ruby​​ 中使用此函数时,它将返回 Fii::NodesArray。我还可以从结构中获取 len 和数据。只有当我调用#to_a 时才会出现段错误。

0 投票
1 回答
669 浏览

ruby - ruby ffi 模块和 fiddle 模块的区别

除了 Fiddle 是 ruby​​ 标准库中的一个模块并且 ruby​​-ffi 是一个外部模块之外,它们之间的主要区别是什么。

更具体地说,导致您使用其中一种的原因可能是什么?(除了一个创建对外部 gem 的依赖的事实)。

0 投票
1 回答
561 浏览

ruby - Ruby FFI 加载 - OSX

我想知道是否有人可以帮助解决此处已打开的问题:

https://github.com/technion/ruby-argon2/issues/1

具体来说,我发布了一个 gem,我收到了用户遇到问题的建议。加载我的 gem 时出现以下错误:

我认为它极有可能是一个 OSX 问题,因为我已经尽了最大的努力来复制它并且没有成功。如果我没有实际编译共享库,该错误基本上显示了我的 Linux 机器上会发生什么。但是,我没有可用的 Mac,因此没有任何测试的能力。

我真的很想认真地支持这个宝石,任何能给我一些指点的人都会非常感激。

0 投票
2 回答
574 浏览

ruby - 我可以将 ruby​​ 对象指针传递给 ruby​​-ffi 回调吗?

我真的可以在正确的方向上推动这一点。

鉴于此 C 代码:

这个红宝石代码:

有什么方法可以将 ruby​​ 数组作为回调数据传递,例如:

问题是回调将被多次调用,我需要一种轻松构造各种 ruby​​ 对象数组的方法。

也许我只是有点累,但感觉有一种简单的方法可以完成这项工作,而我只是没有看到。