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

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: ...

2 ответа

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

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

2 ответа

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

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

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

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и как ...

5 ответов

Пример использования:

вещь, которую мне очень не хватает при написании кода на Common Lisp, - это доступ к библиотекам Python, как к стандартной библиотеке, так и к сторонним модулям. CLPython предоставляет ограниченный набор функций Python, что ...

2 ответа

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

аюсь создать оболочку Haskell для библиотеки C. Базовые структуры слишком сложны, чтобы выражать их как явные типы, и я на самом деле не использую их, кроме как для передачи между функциями C, поэтому я используюEmptyDataDecls позволить GHC ...

0 ответов

@sclv Спасибо. Я подумаю о том, что вы упомянули.

рвых, я новичок в Haskell. Я планирую интегрировать Haskell в C для игры в реальном времени. Haskell делает логику, C делает рендеринг. Чтобы сделать это, я должен передавать огромные сложно структурированные данные (состояние игры) друг другу ...