Вопросы по теме 'ruby-c-extension'

Что я должен вернуть как класс в Data_Wrap_Struct?
Это мой урезанный код, который изолирует мою проблему: #include "ruby.h" #include "stdlib.h" typedef struct HandValues { double pair1; double pair2; } HandValues; static VALUE get_pairs_2(self) VALUE self; { HandValues *MadeHand...
722 просмотров
schedule 30.11.2022

C библиотека для графиков
Есть ли хорошая библиотека C для теоретико-графовых манипуляций? Мне особенно нужно рассчитать сильно связанные компоненты ориентированного графа. Я реализовал алгоритм Тарьяна в Ruby следующим образом: def strongly_connected_components...
368 просмотров

Почему gem не компилирует мое расширение C автоматически
Я создаю драгоценный камень Ruby, который нуждается в некотором расширении C. Этот - после компиляции - связывается через Ruby FFI с драгоценным камнем. Моя установка: я использую бандл для построения драгоценных камней. Внутри моей папки с...
336 просмотров

вызов операций ввода-вывода из потока в расширении ruby ​​​​c приведет к зависанию ruby
У меня проблема с использованием потоков в расширении C для запуска асинхронного кода ruby. У меня есть следующий код C: struct DATA { VALUE callback; pthread_t watchThread; void *ptr; }; void *executer(void *ptr) { struct DATA *data =...
305 просмотров
schedule 22.03.2024

Расширение ruby ​​​​c, как управлять сборкой мусора между двумя объектами
У меня есть расширение C, в котором у меня есть основной класс (например, класс A), созданный с помощью классического: Data_Wrap_Struct rb_define_alloc_func rb_define_private_method(mymodule, "initialize" ...) Этот класс A имеет метод...
372 просмотров

Как скомпилировать расширение Ruby c на Ruby 2.2.1 для плагина sketchup?
Я использовал расширение Ruby C для плагина SketchUp. Версия Ruby: 1.9.3 и SketchUp2016. Но мне нужно перекомпилировать расширение Ruby C, чтобы обновить пакет плагинов, поддерживающий ruby-версию 2.2.1 P85.
195 просмотров
schedule 10.03.2022

Как передать ключевые слова методу Ruby из расширения C?
Я работаю над расширением C для Ruby и хочу вызвать метод с обязательными аргументами ключевого слова, например: class Word def initialize(line:, col:, value:) end end В C я знаком с вызовом методов Ruby через rb_funcall и...
197 просмотров
schedule 16.03.2023

Оболочка расширения Ruby вокруг библиотеки C не может загрузить установленную библиотеку
Расширение Ruby davenport-ruby для библиотеки C davenport не будет правильно загружаться в Ubuntu и Debian. Он нормально работает на машине разработки (MacOS), как показано в файле README проекта Smoke test Ruby, dvt Загрузчик RubyGems...
442 просмотров