草庐IT

c - 如何处理 ruby​​ ffi gem 中的 ruby​​ 数组?

我想使用ruby​​ffigem调用一个c函数,该函数将一个数组作为输入变量,输出是一个数组。也就是说,c函数看起来像:double*my_function(doublearray[],intsize)我创建了ruby​​绑定(bind):moduleMyModuleextendFFI::Libraryffi_lib'c'ffi_lib'my_c_lib'attach_function:my_function,[:pointer,int],:pointer我想用ruby​​代码调用:result_array=MyModule.my_function([4,6,4],3)我该怎么做?

ruby - 无法通过 rvm bundle install 安装 ffi 1.9.0 - OSX 10.8.4

在带有自制软件、xcode(带有命令行工具)和libffi的MacbookPro上使用OSX10.8.4。我已经安装了rvm和ruby​​-1.9.3-p448,并且有一个名为omega.ecoop的gemset。有一个gemfile列出了该项目所需的gem。但是,在运行bundlecheck后,我无法安装它们:Bundlercan'tsatisfyyourGemfile'sdependencies.这是正确的,因为它们没有安装。所以我使用:bundleinstall产生以下内容:Sams-MacBook-Pro:ecoopSam$bundleinstallFetchinggemmet

ruby - 使用 Ruby FFI 调用 Rust 库时出现段错误

我想将String传递给Rust库,但它总是会抛出段错误。代码如下://lib.rs#[no_mangle]pubexternfnprocess(foo:String)->String{foo}还有Ruby文件:#embed.rbrequire'ffi'moduleHelloextendFFI::Libraryffi_lib'target/release/libembed.dylib'attach_function:process,[:string],:stringendputsHello.process("foo") 最佳答案 免

ruby - Haskell 通过 FFI 与 Ruby 绑定(bind)?

由于ruby和Haskell都支持FFI,是否可以通过FFI从ruby​​调用Haskell代码?Ruby中有任何Haskell绑定(bind)吗? 最佳答案 我对这个讨论有点迟了,但我目前正在编写Ruby和Haskell之间的桥梁。它位于http://github.com/mwotton/Hubris-它是在C级别工作的绑定(bind)。不过,仍处于非常早期的开发阶段。 关于ruby-Haskell通过FFI与Ruby绑定(bind)?,我们在StackOverflow上找到一个类似的

ruby 弦使用rust 并再次使用rust

我正在尝试将Ruby中的字符串传递给Rust可执行文件,对其进行操作并将操作后的字符串传回。到目前为止,我可以传入字符串并返回它,但我不知道如何将它转换为使用rust字符串,对其进行操作,然后将其传回ruby​​。这是我目前所拥有的://lib.rsusestd::ffi::CStr;#[no_mangle]pubexternfnreturn_string(test_str:&CStr)->&CStr{//workingfuncitontest_str}#[no_mangle]pubexternfnmanipulate_and_return_string(mystr:&CStr)->&

ruby - 无法安装 compass

上周,由于bash“易受攻击的问题”,我在cygwin中进行了更新。之后我再也无法编译sass了。我尝试重新安装ruby​​,在一些安装失败并重新安装cygwin之后,我安装了它并使用"gemupdate--system"进行了更新它运行,但当我尝试安装compass时,我收到以下消息:>/usr/bin/ruby.exe-r./siteconf20141006-7856-1td7wzb.rbextconf.rb>checkingforffi.h...***extconf.rbfailed***Couldnotcreate>Makefileduetosomereason,probabl

ruby - 没有要加载的文件 -- ffi_c (LoadError)

这个问题困扰了我几天...每当我使用.bring_to_front方法时require"rubygems"require"watir"browser=Watir::Browser::newbrowser.bring_to_front我收到这个错误:(...)rubygems/custom_require.rb:36:in`require':nosuchfiletoload--ffi_c(LoadError)我尝试卸载并重新安装ffi/watir/ruby/netbeans,但没有成功。第36行在custom_require.rb中defrequirepathifGem.unresolv

ruby - 通过 RVM 在 Ubuntu、Ruby 1.9.2 上安装使用 native 扩展的 gem 时出错

我在尝试安装ffigem时遇到错误:~-16:54>gemiffiBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingffi:ERROR:Failedtobuildgemnativeextension.rakeRUBYARCHDIR=/home/mdemare/.rvm/gems/ruby-1.9.2-p136/gems/ffi-1.0.6/libRUBYLIBDIR=/home/mdemare/.rvm/gems/ruby-1.9.2-p136/gems/ffi-1.0.6/lib/home/mdem

ruby - 错误 : Error installing ffi: ERROR: Failed to build gem native extension

安装了DevKit并重新运行ffi安装…。将其作为输出:C:\DocumentsandSettings\******>geminstallffiTemporarilyenhancingPATHtoincludeDevKit...Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingffi:ERROR:Failedtobuildgemnativeextension.C:/Ruby192/bin/ruby.exeextconf.rbcheckingforffi.h...nocheckingforffi.hin

ruby - 是否可以使用 Fiddle 将结构传递或返回到 native 代码?

我想使用Fiddle访问从Rust代码编译的native库。该结构的C表示非常简单,它只是一个指针和一个长度:typedefstruct{char*data;size_tlen;}my_thing_t;//Examplefunctionthatsomehowacceptsastructvoidaccepts_a_struct(my_thing_tthing);//Examplefunctionthatsomehowreturnsastructmy_thing_treturns_a_struct(void);但是,我能找到的所有示例都接受或返回指向结构的指针,而不是结构本身。如果可能的话