Результаты поиска по запросу "ffi"

1 ответ

Начиная с ffi-1.0 (и JRuby 1.6.0), используйте SOME_STRUCT.by_ref в качестве возвращаемого типа, если функция возвращает ссылку на структуру - когда вы просто используете SOME_STRUCT, вы возвращаете FFI :: Pointer вместо экземпляра SOME_STRUCT. Вы также можете использовать сокращения SOME_STRUCT.ptr и SOME_STRUCT.val - в зависимости от того, что плавает на вашей лодке.

ужно загрузить несколько функций, которые возвращают структуры из самой библиотеки. attach_function 'fn_name', [], # ... What do I put here?Вики-страницы RubyFFI, похоже, устарели, поэтому я немного растерялся. Как мне создатьFFI::Structи как ...

2 ответа

Считаете ли вы TypeError правильным ответом?

е слово, я дурак.Я просто опускал второй и третий аргументы при вызове функции. Как дурак. Потому что это то, что я есть. Оригинальный глупый вопрос следует: Кажется, это очень распространенная вещь, но я не могу найти соответствующий учебник, и ...

2 ответа

есть еще несколько вариантов поддержки, есть лучшая поддержка для иностранных указателей и так далее. (Я все еще склонен писать смесь C2HS и простого кода FFI, когда мне нужно обернуть библиотеки C, потому что есть много вещей, которые C2HS не может сделать.)

разница между hsc2hs и c2hs? Я знаю, что hsc2hs является препроцессором, но что он делает? И c2hs может делать модули Haskell из C-кода, но нужна ли мне для этого hsc2hs?

ТОП публикаций

12 ответов

ОШИБКА: ошибка установки ffi: ОШИБКА: не удалось создать собственное расширение gem

Получил установленный DevKit и перезапустил установку ffi ... C:\Documents and Settings\******>gem install ffi Temporarily enhancing PATH to include DevKit... Building native extensions. This could take a while... ERROR: Error installing ffi: ...

4 ответа

Может ли FFI иметь дело с массивами? Если да, то как?

Я уверен, что через FFI можно отправлять массивы, но я не могу найти никаких примеров. Например, у меня есть массив Haskell, который я отправляюint foo(int*) функция, или у меня есть массив Cint bar[64]; что я посылаю в Хаскелл. В идеале я бы ...

1 ответ

Как передать указатель на LuaJIT ffi для использования в качестве аргумента out?

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

2 ответа

инициализация библиотеки unsafePerformIO и FFI

Я создаю модуль FFI для библиотеки в C, которая хочет, чтобы одноразовая не реентерабельная функция вызывалась раньше, чем что-либо еще. Этот вызов идемпотентен, но с состоянием, так что я мог бы просто вызывать его при каждом вызове на Haskell. ...