Публикации по теме 'ffi'


Не работает с Ruby-ffi
Краткое руководство, которое поможет вам избежать распространенной ошибки Ruby-ffi при сборке Jekyll При создании своего сайта Jekyll я столкнулся с ошибкой, и я подумал, что должен поделиться ею после множества неудачных попыток и чтения множества статей других людей, имеющих ту же проблему. Возможно, кто-то сталкивается с этой же проблемой и ему было бы полезно прочитать это. Несколько вещей ... обратите внимание, что я использую MacOs High Sierra и не устанавливал Xcode. Если вам..

Вопросы по теме 'ffi'

Haskell FFI: вызов FunPtrs
Вот моя ситуация: Я хотел бы вызвать функцию av_free_packet ffmpeg: // avformat.h static inline void av_free_packet(AVPacket *pkt) { if (pkt && pkt->destruct) pkt->destruct(pkt); } Но, к сожалению, эта функция static...
1637 просмотров
schedule 08.04.2024

импорт типов данных c++ в haskell с помощью ffi
Я пишу оболочку haskell для библиотеки C++, и, хотя я могу импортировать функции из библиотеки в свою программу haskell, я понятия не имею, как импортировать типы данных C++. Например, у меня есть функция, которая принимает в качестве параметра тип...
1286 просмотров
schedule 23.12.2023

Автоматическое преобразование типов для вызовов FFI в Haskell
Я определил следующий модуль, чтобы помочь мне с экспортом функции FFI: {-# LANGUAGE MultiParamTypeClasses, FunctionalDependencies, TypeSynonymInstances #-} module ExportFFI where import Foreign import Foreign.C class FFI basic ffitype | basic...
996 просмотров
schedule 22.03.2024

Не могу установить ffi gem, сбой Rails
При создании интеграционного теста через rails generate integration_test foo он был отклонен с Could not find ffi-1.0.9 in any of the sources Run `bundle install` to install missing gems. Я запустил bundle install , чтобы установить...
2470 просмотров
schedule 04.12.2022

Haskell FFI — как обрабатывать функции C, которые принимают или возвращают структуры вместо указателей на структуры?
Конечно, ответ заключается в том, чтобы как-то передать/забрать непрерывный блок памяти, поэтому вопрос больше о том, как это сделать. На данный момент я все еще могу избежать этой проблемы, написав функции-оболочки на стороне C, но это не очень...
1116 просмотров
schedule 31.12.2023

Какие существуют альтернативы для возврата строки, содержащей нулевые значения из общей библиотеки Haskell, для использования в C?
Возможный дубликат: может FFI имеет дело с массивами? Если да, то как? У меня есть крошечный ассемблер, написанный на Haskell, который принимает строку с ассемблерным кодом и возвращает строку двоичного машинного кода. Я хочу иметь...
315 просмотров
schedule 14.04.2024

Как передать указатель на LuaJIT ffi для использования в качестве аргумента?
Предполагая, что есть следующий код C: struct Foo { int dummy; } int tryToAllocateFoo(Foo ** dest); ...Как сделать следующее в LuaJIT? Foo * pFoo = NULL; tryToAllocateFoo(&pFoo);
3764 просмотров
schedule 14.11.2022

Распределение памяти FFI/MemoryPointer
Я должен что-то упустить. Я читал о FFI и не могу получить четкого ответа на этот вопрос. Скажем, у меня есть следующая функция C++: extern "C" { int ReturnAnArrayOfStrings(const char* arrayOfStrings[]) { if( NULL == arrayOfStrings )...
1473 просмотров
schedule 23.12.2023

Как заставить GHC встраивать вызовы FFI?
Я сделал небольшой модуль C для повышения производительности, но GHC не встраивает сторонние функции, а стоимость вызовов устраняет ускорение. Например, test.h : int inc (int x); test.c : #include "test.h" int inc(int x) {return x +...
536 просмотров
schedule 03.11.2023

Кодировка символов C++ при преобразовании из строки в const char* для интерфейса Ruby FFI
Я использую внешнюю библиотеку C++, которая осуществляет связь по протоколу HTTPS и предоставляет ответ XML-сервера. На стороне сервера ответ кодируется через ISO-8859-15 , и я получаю std::string , представляющий этот ответ из API. Когда я...
778 просмотров
schedule 02.11.2023

PCL - компиляция Glib из исходников, связывание с FFI
Мне нужно установить PCL (библиотеку облака точек) на сервер Linux без корневого доступа. Затем я скачал исходники и проверил зависимости. И здесь мы идем... Вот зависимости, которые я обнаружил: PCL --BOOST ----ZLIB ----BZIP --EIGEN --FLANN...
3623 просмотров

Преобразование подписи Rust FFI для константных указателей
У меня есть библиотека C с функциями, работающими с непрозрачной структурой, определенной следующим образом: Foo* makeFoo(); // create a new Foo Foo* dupFoo(const Foo* orig); // make a duplicate Foo rust-bindgen создает эти внешние...
614 просмотров
schedule 03.12.2022

Работа с c_void в FFI
Я изо всех сил пытаюсь передать структуру через FFI, который принимает void, и читать ее на другом конце. Речь идет о libtsm, конечном автомате. Он позволяет вводить ввод, а затем выяснять, в каком состоянии будет находиться терминал после ввода....
18245 просмотров
schedule 15.11.2023

Сохраняемый экземпляр Maybe
Я пытаюсь найти экземпляр Foreign.Storable для Maybe . Google обнаружил экземпляр из C2HS . instance Storable a => Storable (Maybe a) where sizeOf _ = sizeOf (undefined :: Ptr ()) alignment _ = alignment (undefined :: Ptr ())...
357 просмотров
schedule 01.03.2024

Можно ли использовать Fiddle для передачи или возврата структуры в собственный код?
Я хотел бы использовать Fiddle для доступа к собственному библиотека скомпилирована из кода Rust. C-представление структуры очень простое, это просто указатель и длина: typedef struct { char *data; size_t len; } my_thing_t; // Example...
1551 просмотров
schedule 03.01.2024

Как преобразовать строку lua в C char*?
Я использовал библиотеку luajit ffi, чтобы обернуть библиотеку C, содержащую функцию для рисования текста в файле ppm: void drawText(frameBuffer *fb, int px, int py, char* text, pixel color) Когда я пытаюсь вызвать его из lua, используя...
4651 просмотров
schedule 28.02.2024

Обновление значения поля структуры C от Julia
Мой вопрос прост, но я не знаю, как лучше всего это сделать (или Джулия не предлагает такой способ на данный момент): как я могу установить значение поля C-структуры из Джулии? Представьте, что у вас есть тип структуры для представления узла дерева...
243 просмотров
schedule 09.12.2023

LuaJIT ffi: как передать массив строк в функцию c
Я хочу передать таблицу Lua, хранящую строки, в функцию c. Так, например, если у меня есть tStr = {"String1", "String2", "String3"} Как мне перейти к функции C. Я думаю, что мне нужно позвонить ffi.new, но какой тип я не уверен. local...
1440 просмотров
schedule 13.10.2022

Haskell FFI передает несколько массивов в C
У меня есть функция C с типом int func(int len1, int *array1, int len2, int *array2); что я хотел бы позвонить из Haskell. Он не изменяет своего содержимого. Я хочу передать данные из списков. Я просматривал Foreign.Marshal.Array, но...
154 просмотров
schedule 20.02.2024

Связывание с локальной библиотекой C для Rust с помощью FFI
Я пытаюсь обернуть довольно большую библиотеку C в Rust. Я использовал bindgen для создания привязок. Rust, кажется, доволен этим. Однако, несмотря на мои различные попытки и многочисленные чтения документы по скрипту сборки , у меня продолжают...
2681 просмотров
schedule 08.12.2022