Ruby 扩展代码中的段错误
我正在用 C/C++ 编写一个小型 Ruby 扩展,使 boost::dynamic_bitfield 在 Ruby 中可用。我的代码确实可以完美编译,但是当加载扩展并尝试实例化该…
mkmf 编译 C 扩展时会忽略子文件夹中的文件
我想像这样组织 C 源代码: + / | |___ + ext | | | |___ + native_extension | | | |___ + lib | | | | | |___ (Source files are kept in here - ma…
在 C 中扩展 ruby - 如何为函数指定默认参数值?
我正在尝试编写一个 ruby 的 C 扩展来生成一个类。我正在研究如何为类定义一些默认参数。例如,如果我在 ruby 中有这个类 declation: class …
如何在 C 中检索从 ruby 脚本传递的结构类型变量的结构成员?
我已经实现了 Ruby C 扩展(即从 ruby 脚本调用 C 函数) 以下是文件“cFile.c”中用 c 实现的函数 #include static VALUE cFunction(VALUE self,…
c 中 ruby Exception 类对象的扩展是什么?
您好,我在 c 中有以下代码,它是从 ruby 脚本调用的, static VALUE myMethod(VALUE self, VALUE exc) { int a = TYPE(exc); printf(" %d ", a )…
在 ruby C 扩展中类型检查选项哈希值时的最佳实践是什么?
我正在为 ruby 开发一个 C 扩展,我正在访问的 C 库中的函数之一接收一个选项结构,该结构似乎自然地转换为 ruby 世界中的选项哈希。 当 ruby…
我在这个 C 扩展中引用实例的方式有问题吗?
我遇到一些问题,如果我在 Rails 环境之外运行这个 C 扩展,它可以工作,但是当我在 Rails 内部运行时,它会给我一个堆栈转储。 我收到此错误消息: N…
为什么我可以直接使用某些 ruby C 扩展数组方法,而不能直接使用其他方法?
我正在使用 ruby 代码库的 array.c 中找到的许多数组方法,但在尝试调用时 VALUE rIntersection = rb_ary_and(rAry1, rAry2); 出现此错误: dyld:…
为什么 RARRAY_LEN 没有被分配?
我正在使用 C 扩展方法创建一个新的 ruby 数组,但 RARRAY_LEN 未设置。我做错了什么吗? long int max = 4; VALUE rAry; rAry = rb_ary_new2(max…
本机 C 扩展(如果库可用)
我正在构建一个本机 C 扩展 Ruby gem,用于生成唯一标识符(可在此处找到)。我希望库尽可能使用 libuuid (通过 C 扩展)并回退到简单的 Ruby 实现。…
为什么我从 ruby 数组提取到 c 扩展的值是错误的?
这个方法只是验证我是否能够正确地看到 ruby 数组的元素。 static VALUE print_cards(self) VALUE self; { VALUE cards; int i; cards = rb_ivar_…
在 C Ruby 扩展中使用curl/libcurl
前言:我对 C 非常陌生,所以我可能遗漏了一些明显的东西,但已经运行了好几天试图弄清楚它是什么...... 我正在尝试创建一个可以在 Mac 和 Mac 上运行…
Ruby 扩展链接错误
每当我尝试链接 我的 Ruby 扩展 时,我总是收到这个相当模糊的链接错误: /usr/bin/ld: Mg.o: relocation R_X86_64_PC32 against undefined symbol `i…
如何将链接目标添加到 Ruby mkmf?
在我的Ruby扩展中,代码被组织到目录中,带有extconf.rb位于主库文件中树的根部。 此设置的问题是目录内的所有文件都没有链接到我的库。 mkmf 似乎根…
将 ruby 数组值传递到 C 数组
我正在尝试为 C 中的 ruby 制作一个独立的 FFT 扩展,基于 这个秘籍 我已经注意到了几种在 ruby 和 c 之间传递不同值的方法。然而,我对 ruby…