Описание тега ruby-ffi

Ruby-FFI is a ruby extension for programmatically loading dynamic libraries, binding functions within them, and calling those functions from Ruby code.
2 ответа

Могу ли я передать указатель объекта ruby ​​на обратный вызов ruby-ffi?

Я мог бы действительно использовать толчок в правильном направлении на этом. Учитывая этот код C: typedef void cbfunc(void *data); void set_callback(cbfunc* cb); //do_stuff calls the callback multiple times with data as argument void do_stuff(void *…
07 янв '17 в 00:17
1 ответ

Различия между модулем ruby ​​ffi и модулем скрипки

За исключением того факта, что Fiddle является модулем из стандартной библиотеки ruby ​​и что ruby-ffi является внешним модулем, каковы основные различия между ними. Более конкретно, какие могут быть причины, которые побуждают вас использовать один …
31 окт '15 в 11:49
1 ответ

Как вы присоединяете функцию C, которая возвращает строку, используя ruby ​​ffi?

В настоящее время я работаю над библиотекой метрик строки C и пишу привязки для ruby. Используя ffi, как я могу прикрепить функцию с такой подписью, как char *function(const char *, const char *)? Рассматриваемая функция будет выделять строку в куче…
03 июл '14 в 07:38
1 ответ

Загрузка Ruby FFI - OSX

Мне интересно, если кто-то может помочь с проблемой, которая была открыта здесь: https://github.com/technion/ruby-argon2/issues/1 В частности, я выпустил драгоценный камень и получил уведомление о том, что у пользователя возникла проблема. Это следу…
01 дек '15 в 22:31
1 ответ

Как определить, почему Ruby-FFI и VB.net не могут загрузить файл DLL?

У меня есть файл, который имеет четыре функции, которые мне нужно использовать. Документация по функциям DLL находится здесь. Я попытался загрузить DLL с обоими Lib в VB.net и ffi_lib с Ruby-FFI. Оба дают мне ошибки при загрузке DLL, но я ничего не …
03 фев '19 в 01:50
1 ответ

Можно ли сделать функцию прикрепленной с ruby ​​ffi private?

У меня есть общий объект lib, к которому я присоединяю функции, используя ruby ffi. Я хочу прикрепить каждую функцию с псевдонимом и сделать псевдоним частным, потому что вызов их может быть опасным. Я обертываю каждую функцию в свою собственную фун…
03 июл '14 в 15:19
1 ответ

Как использовать гем ruby ​​ffi для вызова отдельно стоящей функции в библиотеке ржавчины?

ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-linux] rustc 0.13.0-nightly (f168c12c5 2014-10-25 20:57:10 +0000) Я хочу использовать ffi драгоценный камень в сочетании с rust, Я прочитал этот (довольно устаревший) пост в блоге, который показывает…
02 ноя '14 в 17:42
1 ответ

Наблюдение за сообщением об ошибке в rspec, которое не является исключением

Я пишу Ruby API для C API, который инкапсулирует библиотеку C++. C API перехватывает исключения C++, генерируемые библиотекой C++. В идеале я мог бы пойти и изменить свою библиотеку C, чтобы она вызывала исключения Ruby, но, поскольку я использую FF…
06 мар '14 в 20:04
1 ответ

Как мне заставить AJAX работать, используя рельсы и таймер javascript?

Приложение rails, которое я программирую, получает данные из внешнего источника из общего объекта через ffi gem в ruby. У меня есть данные для входа и отображения на экране один раз, но когда я пытаюсь обновить с помощью AJAX, я не могу манипулирова…
23 окт '13 в 17:55
1 ответ

FFI - Присоединить функцию с типом аргумента FILE?

Как бы я обернуть функцию, которая принимает аргумент типа FILE с использованием FFI в Ruby? int fprintf ( FILE * stream, const char * format, ... );
13 апр '13 в 16:10
1 ответ

Ошибка компиляции гема tesseract-ocr с помощью ruby ​​ffi-inliner

Когда я пытаюсь запустить следующий код, require 'rubygems' require 'bundler/setup' Bundler.require(:default) Я получаю ошибки ниже $ bundle exec ruby test.rb /home/cameron/.rvm/gems/ruby-1.9.3-p194/gems/ffi-inline-0.0.3/lib/ffi/inliner/compilers/gc…
29 апр '12 в 04:20
1 ответ

Ошибка GENERAL_NAME_free при использовании Aerospike от Ruby

Я пытаюсь создать простую общую библиотеку libfoo.so который открывает соединение с сервером Aerospike с помощью одной функции, ждет 3 секунды и закрывает соединение. libfoo.so имеет единственную функцию open_then_close(char* host, int port), Затем …
28 мар '17 в 22:54
1 ответ

Как упаковать библиотеку и ffi-интерфейс как гем? Возможный?

Я создал библиотеку для проекта, над которым я работал. По сути, он упаковывает imgSeek в качестве альтернативы pHash/phashion. Смотрите эту ссылку для фона: http://hackerlabs.org/blog/2012/07/30/organizing-photos-with-duplicate-and-similarity-check…
13 май '15 в 00:41
0 ответов

Почему моя структура Fiddle заполнена мусором?

Я пытаюсь преобразовать очень простой вызов C Win32 API в Ruby с использованием Fiddle, и я не добиваюсь большого успеха. Первые два вызова метода работают безупречно, хотя, когда я добираюсь до вызова, который заполняет структуру, у меня возникают …
26 апр '18 в 22:05
2 ответа

Rust Vec для Ruby Array с FFI Segfaults

Я пытаюсь вернуть структуру, которая может быть преобразована в массив Ruby из внешней функции ржавчины, но когда я пытаюсь вызвать метод структурирования #to_a, я получаю segfault. use libc::size_t; #[repr(C)] pub struct Array { len: libc::size_t, …
02 июл '15 в 17:00
0 ответов

Почему компоновщик влияет на выполнение нативной библиотеки C++

Я написал Ruby gem который использует самую последнюю версию FFI чтобы получить доступ к (а также самостоятельно написанному) общедоступной библиотеке объектов. я использую ruby 2.0.0p247 в сочетании с rvm 1.21.12, Мой гем включает в себя "исполняем…
01 авг '13 в 07:56
1 ответ

Почему gem не компилирует мое расширение C автоматически

Я строю драгоценный камень Ruby, который нуждается в расширении C. Этот, однажды скомпилированный, привязан через Ruby FFI к жемчужине. Моя установка: я использую связку для строительных лесов. Внутри моей папки с драгоценными камнями у меня есть по…
12 сен '13 в 13:23
1 ответ

Как перенести методы из модуля в область вызова метода в ruby?

Код должен выглядеть так: def bring_into_scope(module) #here the caller of the method should get methods from +module+ end class Bar def bar_method #do stuff end end class Foo def initialize(bar) bring_into_scope(bar) bar_method end end Мне нужна фу…
06 окт '13 в 21:22
1 ответ

Назначение вложенных членов структуры в Ruby FFI

Рассмотрим следующие две структуры FFI: class A < FFI::Struct layout :data, :int end class B < FFI::Struct layout :nested, A end Чтобы создать их экземпляр: a = A.new b = B.new Теперь, когда я пытаюсь назначить a в b.nested как это: b[:nested]…
03 апр '12 в 01:57
1 ответ

Как использовать синглтон C++ для возврата объекта, инициализированного только один раз

Я настоящий нубик C++, поэтому, пожалуйста, будьте терпеливы со мной. Сначала давайте подготовим почву. У меня есть источник C++ в binary.cpp который компилируется в двоичный файл, который выглядит следующим образом: # include "lotsofheaders.h" int …
25 июл '13 в 15:36