Публикации по теме '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 просмотров
schedule
17.03.2024
Преобразование подписи 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