Описание тега ruby-c-extension

Загружаемые модули, написанные на C, которые обеспечивают дополнительную функциональность для языка Ruby.
1 ответ

#include <ruby.h> Это не работает

Я сделал несколько попыток найти эту информацию в Интернете через Google, этот сайт и несколько других; Я не могу найти хороший учебник и / или ответ на него / для него. Как мне использовать Ruby C API в Visual C++ 2010? Я добавил папки включения Ru…
03 сен '12 в 19:33
2 ответа

Расширение Ruby C: есть ли способ завершить?

Я просмотрел все документы по расширениям Ruby C, которые не могу найти хорошего конца. Есть ли дополнение к Init_... метод инициализации расширения C, который вызывается при выходе из интерпретатора?
04 апр '14 в 02:02
2 ответа

Создание расширения C в Ruby

Я пытаюсь создать расширение C для ruby. Я очень новичок в разработке и только что познакомился с Ruby, так что я действительно потерял. Я посмотрел на "Как создать расширение C в Ruby менее чем за пять минут", и это имеет смысл. Проблема в том, что…
13 авг '12 в 20:11
0 ответов

Выполнение метода объекта, переданного в расширение Ruby C

Я пытаюсь написать расширение Ruby на C, и у меня возникла проблема с вызовом метода объекта, который передается в расширение. Например, у меня есть класс ruby, определенный следующим образом: class MyClass def write(message) ...do a write... end en…
09 авг '16 в 14:14
0 ответов

Как расширение Ruby C может хранить процесс для последующего выполнения?

Цель: разрешить расширению c получать блок /proc для отложенного выполнения при сохранении текущего контекста выполнения. У меня есть метод в C (подвергается воздействию ruby), который принимает callback (с помощью VALUE hash аргумент) или block, //…
26 сен '18 в 21:00
1 ответ

Сбрасываете в сборку с Ruby через C?

Так как Ruby позволяет вам переходить в C для любых битов, где производительность критична, а обычный Ruby не подходит для этой задачи, а поскольку C позволяет вам переходить в сборку при тех же обстоятельствах, я всегда задавался вопросом, будет ли…
11 апр '14 в 02:16
1 ответ

Пример ruby ​​extconf.rb

Я следую инструкциям http://people.apache.org/~rooneg/talks/ruby-extensions/ruby-extensions.html (стр. 6), и моя команда make только возвращается make: Nothing to be done for 'all'. У кого-нибудь есть какие-либо идеи? Я использую ruby ​​1.9.2 и я на…
13 дек '11 в 09:59
1 ответ

Расширение Ruby C: Как узнать, что сгенерированное в моем коде C значение ruby ​​будет корректно очищено GC?

Я пытаюсь написать действительно маленькое расширение Си. Поэтому я не хочу создавать целый класс ruby ​​с инициализатором, распределителем и так далее. Все, что я хочу сделать, это добавить статический метод к существующему классу, метод, который б…
17 янв '18 в 10:34
2 ответа

Определение классов в модулях с помощью Ruby C API

Я пытаюсь определить класс внутри модуля с помощью Ruby C API. Однако то, как я это видел по всей сети, похоже, не работает для меня. В частности, модуль верхнего уровня создается, но класс не может быть найден внутри модуля. Вот мой файл C: #includ…
10 фев '12 в 23:19
1 ответ

Двор и С расширение

У меня есть расширение C ruby, которое я документирую с помощью rdoc. Существуют как файлы C, так и файлы ruby, которые анализируются с помощью rdoc. Может ли ярд сделать то же самое, и существует ли "легкий путь" (я имею в виду наиболее часто испол…
03 окт '15 в 08:39
0 ответов

"Распределение объектов на этапе сборки мусора" Расширение Ruby C с помощью openmp

Я создаю камень с расширением ruby ​​c, который использует openmp. То, что я пытаюсь сделать, довольно просто, просто создайте параллель, которая будет инициализировать массив ruby ​​на каждой итерации. Итак, мои драгоценные файлы: Visualize_helper.…
15 апр '16 в 17:47
2 ответа

Как я не разделяю внешнюю переменную между экземплярами?

РЕДАКТИРОВАТЬ: это переписать вопрос, так как он был настолько неопределенным раньше. Поэтому у меня возникла проблема с решением вопроса о том, какие переменные будут совместно использоваться экземплярами в расширениях C. Вот пример того, с чем я с…
26 июн '11 в 17:56
1 ответ

Генерируемый Ruby make-файл не запускается

Может быть, это действительно очевидный ответ, но я пытаюсь расширить Ruby с помощью C в среде Windows, и я не могу сделать это расширение, когда я запускаю mingw32-make, он доходит до генерации файла "forktest-i386-". mingw32.def", а затем говорит:…
19 июл '13 в 06:41
1 ответ

Расширение ruby ​​для сбоя clang с segfault, когда GC удаляет объект Index

Я пытаюсь написать небольшое расширение ruby ​​для интерфейса c clang. Я сосредоточен на структуре CXIndex, которую я обертываю в класс Clangc::Index. Я могу скомпилировать его, загрузить модуль и создать класс Clangc::Index, как в этом тесте: #!/us…
01 май '15 в 09:12
0 ответов

Как установить флаги c в Rakefile для компиляции расширений через задачу расширения?

У меня есть Rakefile на Github: require 'rubygems' require 'rubygems/package_task' require 'bundler' Bundler::GemHelper.install_tasks require 'rake' require 'rake/extensiontask' Rake::ExtensionTask.new do |ext| ext.name = 'symengine' ext.ext_dir = '…
28 май '15 в 15:02
1 ответ

Разница между Data_Wrap_Struct и TypedData_Wrap_Struct?

Я оборачиваю структуру C в расширение Ruby C, но я не могу найти разницу между Data_Wrap_Struct и TypedData_Wrap_Struct в документах, в чем разница между этими двумя функциями?
20 мар '18 в 14:12
2 ответа

Как получить ключи из хеша - расширение ruby ​​c

Я ищу функцию, которая может получить мне все ключи из хэша или я могу перебрать хэш, чтобы получить один ключ за раз. В настоящее время я жестко закодировал ключ VALUE option = rb_hash_aref(options, rb_str_new2("some_key"));
10 дек '14 в 16:15
1 ответ

Расширение Ruby в C - преобразование аргументов в типы c

Как я могу сделать подобное для рубина. Я не могу найти пример / документацию для приведения переменной к объекту. Например Local&lt;Object&gt; obj = args[0]-&gt;ToObject(); Local&lt;Array&gt; props = obj-&gt;GetPropertyNames(); Я переписываю расшир…
01 дек '14 в 17:58
1 ответ

Как запустить мое приложение ruby, используя библиотеку расширений ruby ​​(в c), в Windows?

Я был бы благодарен за любую помощь в этом: я хочу написать расширение к моей библиотеке c. Я создал файл zmq.cpp, который использует библиотеку libzmq (написан на C++). Я создал makefile, используя ruby ​​extconf.rb, затем запускаю nmake. Все прошл…
04 май '09 в 10:15
1 ответ

Как маркировка должна выполняться на массивах VALUE* в расширении Ruby?

У меня есть тип матрицы, который содержит void* массив, представляющий массив объектов (которые все являются одним типом в данной матрице, например, все целые числа C, все числа с плавающей запятой, двойные числа, различные структуры или, возможно, …
12 мар '12 в 21:07