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