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


Реализация структур по значению в Dart FFI
Глубокое погружение в дизайн API и нативные соглашения о вызовах В выпуске Dart 2.12 мы расширили нашу C-функцию взаимодействия, Dart FFI возможностью передавать структуры по значению . В этой статье рассказывается о том, что потребовалось для добавления этой функции в Dart SDK. Если вас интересуют детали реализации низкоуровневого языка или соглашения о платформе для передачи структур по значению, продолжайте читать. В этой статье рассказывается как о разработке API, так и о ABI..

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

Как распаковать структуру в Haskell
Недавно я столкнулся с этой проблемой и нашел решение, но мне интересно, есть ли лучшие (или просто более идиоматические) решения. У меня есть структура для цвета: data Rgb = Rgb Double Double Double И есть функция, которой я хотел бы...
1606 просмотров
schedule 07.07.2022

Обмен структурированными данными между Haskell и C
Во-первых, я новичок в Haskell. Я планирую интегрировать Haskell в C для игры в реальном времени. Haskell занимается логикой, C — рендерингом. Для этого мне приходится передавать друг другу огромные сложно структурированные данные (состояние...
2956 просмотров
schedule 15.08.2022

Соображения производительности Haskell FFI/C?
При использовании Haskell в качестве библиотеки , вызываемой из моей программы на C, как вызовы к ней повлияют на производительность? Например, если у меня есть набор данных проблемного мира, скажем, 20 КБ данных, и я хочу запустить что-то вроде:...
3434 просмотров

Поддержка Haskell FFI для функций с переменными аргументами
Может ли кто-нибудь показать мне пример использования функции C с переменными аргументами (например, printf ) с интерфейсом внешних функций Haskell? Я попытался найти HaskellWiki, но не нашел таких примеров. Спасибо!
1055 просмотров
schedule 06.02.2023

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

Vector (Вектор Foo) -> (Ptr (Ptr Foo) -> IO a) -> IO a?
Я делаю простую оболочку для библиотеки c, которой нужно передать список векторов. Он принимает массив указателей на массивы. Чтобы сделать приятный интерфейс, я хотел бы иметь вектор (или список) векторов, но я не могу понять, как это сделать в...
389 просмотров
schedule 14.06.2022

Объединение и тип ** с FFI в Haskell?
мне нужно знать, как я могу разрешить союзы и тип ** (например, int **) с помощью FFI? Я знаю, что мне нужен экземпляр Storable для структур, могу ли я использовать его и для объединений? союз вот такой: typedef union { int i; char...
675 просмотров
schedule 10.07.2023

Как найти значение выравнивания при определении хранимого экземпляра
Если у меня есть доступ к определению структуры C в файлах заголовков, но я хочу определить свой хранимый экземпляр вручную, не используя что-то вроде hsc2hs, как мне найти значение выравнивания? Также может ли неправильное значение выравнивания...
746 просмотров
schedule 16.03.2023

Не удалось клике установить poppler
Я использую ArchLinux с ghc-7.0.3. У меня установлены poppler-0.18.3 и pango-1.29.4. Configuring poppler-0.12.2... Preprocessing library poppler-0.12.2... gtk2hsC2hs: Errors during expansion of binding hooks:...
241 просмотров
schedule 22.04.2023

Ruby on Rails – не удается связать обновление ffi
Мне нужно упомянуть ffi версии 1.0.9 (он уже упоминается в моем Gemfile). Система предложила мне сделать "bundle update ffi", я так и сделал: $ bundle update ffi Fetching source index for http://rubygems.org/ You have requested: ffi = 1.0.9...
790 просмотров
schedule 16.09.2022

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

Как вы вызываете функцию void C в Haskell
Я пытаюсь вызвать основную функцию файла C в Haskell, используя интерфейс внешней функции. Объявлена ​​основная функция: int main(void); Я не могу понять, что сказать функции Haskell делать с типом void. Я не могу изменить исходный код C....
1046 просмотров
schedule 17.11.2022

Импорт функции задержки 'C' в Haskell с использованием FFI
В библиотеке wireingPi 'C' есть функция, называемая delay с типом void delay(unsigned int howLong); Эта функция задерживает выполнение кода на howLong миллисекунды. Я написал код привязки на Haskell, чтобы иметь возможность вызывать эту...
594 просмотров
schedule 10.05.2023

Вызов библиотеки Haskell из C++
Я создаю приложение на Qt ( C++ ), которое использует библиотеку, написанную на Haskell, в качестве бэкэнда. Как я могу экспортировать интерфейс библиотеки Haskell в C++ ? Когда функции в библиотеке haskell используют простые типы, такие как...
1375 просмотров
schedule 25.12.2023

Связь из Lisp с другими средами выполнения
Укороченная версия: Есть ли способ разрешить другим программам вызывать Лисп-функции программы на Лиспе? Длинная версия: Я обдумываю проект графовой базы данных :) Не буду начинать сразу, я пока только прощупываю землю. Я пробовал пару...
187 просмотров
schedule 15.06.2022

Lua (LuaJit) cURL curl_easy_getinfo не работает должным образом
Я пытаюсь получить информацию CURLINFO_RESPONSE_CODE и CURLINFO_CONTENT_TYPE с помощью curl_easy_getinfo , но обе попытки не увенчались успехом. Как и в примере с LuaJit/scanf, я выделяю ffi.new("int[1]") для получения одного элемента в...
835 просмотров
schedule 20.12.2022

ffi gem не может создать собственное расширение на Cygwin
Мне нужно установить последнюю версию драгоценного камня ffi (в настоящее время 1.9.3) на Cygwin версии 2.844. Я видел сообщения о том, что прошлые версии, такие как 1.0.10, не собирались в системах Windows, но с тех пор было много выпусков. Вот...
1195 просмотров
schedule 19.02.2024

Вызов Пролога из R
Можно вызвать R из Пролога, используя библиотеку недавно реализован в вариантах SWI и YAP Prolog. В свою очередь, есть ли способ вызвать Prolog из R? В отсутствие прямого интерфейса R-Prolog, способного связывать термины Prolog с R так же, как...
1477 просмотров
schedule 05.08.2022

GHC безопасный вызов VS небезопасный вызов
Уважаемые гуру GHC/Haskell, В настоящее время я пишу (среднего размера) серверное приложение Haskell с использованием GHC, которое (сильно) использует сторонние функции библиотеки C через FFI. Другими словами, есть несколько вызовов FFI C,...
312 просмотров
schedule 29.05.2022

Вызов SWI-Prolog через C на основе DLL
снова мне нужна помощь. Я пытаюсь вызвать SWI-Prolog через C на основе dll в Windows. В моей программе C я хочу использовать функцию «consult_cooco». Код C выглядит так #include "consult_cooco.h" #include <SWI-Prolog.h> int...
419 просмотров
schedule 01.08.2022