Описание тега hsc2hs
NoneHsc2hs is used to write Haskell interfaces to C code. The hsc2hs command can be used to automate some parts of the process of writing Haskell bindings to C code.
2
ответа
Как использовать hsc2hs для привязки к константам, функциям и структурам данных?
Мне нужен пример, как использовать hsc2hs, я подумал, что когда я пишу заголовочный файл, например: // foo.h #define PI 3.14159 typedef struct { int i1; int i2; } foo; struct foo2 { int i1; int i2; }; int fooFkt(foo f); и затем создайте файл hsc как…
19 май '11 в 09:13
1
ответ
При использовании hsc2hs введение директивы #include в исходный код haskell приводит к многочисленным ошибкам.
Я пишу программу на Haskell, которая должна знать некоторые подробности о состоянии X11, поэтому я пытаюсь определить FFI, который будет вызывать соответствующие символы общих библиотек X11. Я обычно следую инструкциям из викибука. Когда я добавляю …
17 янв '17 в 16:10
0
ответов
sizeof, offsetof и выравнивание через TemplateHaskell
Интересно, кто-то реализовал аналоги hsc2hs Прагмы через TemplateHaskell? Такое ощущение, что это должно быть выполнимо, так как TH запускается на целевой платформе во время компиляции, а GHC всегда имеет компилятор C. Это может быть полезно в качес…
03 дек '18 в 10:13
1
ответ
Заговор Хаскелла +hsc2hs
Может ли cabal использовать hsc2hs для создания файлов hs? Как? Я не нашел ответа ни в руководствах, ни в поиске, ни в других проектах (я надеялся на gtk2hs, но оказалось, что он не использует cabal)
09 июл '09 в 09:13
2
ответа
Разница между hsc2hs и c2hs?
В чем разница между hsc2hs и c2hs? Я знаю, что hsc2hs является препроцессором, но что именно он делает? И c2hs может делать модули Haskell из C-кода, но нужна ли мне для этого hsc2hs?
15 май '11 в 14:36
1
ответ
Взаимодействие с XKB API с помощью hsc2hs
Я пытаюсь получить доступ к различным битам и бобам в XKB API. Это мой тестовый код: {-# LANGUAGE ForeignFunctionInterface #-} module Main where import Foreign import Foreign.C.Types #include <X11/XKBlib.h> #let alignment t = "%lu", (unsigned …
04 сен '14 в 20:50
2
ответа
Haskell: Как я могу получить значения констант #define-d?
В программе на Haskell, как лучше всего использовать константы, определенные в заголовках C?
22 июн '09 в 21:42
1
ответ
Интерфейсные союзы C в Haskell через c2hsc и hsc2hs
При использовании c2hsc а также hsc2hs экономит мне много работы, я столкнулся с некоторыми проблемами при попытке создать привязки для профсоюзов C. Например, учитывая структуру C typedef struct { int tag; union { char a; double b; } v; } sum_t; c2…
04 янв '15 в 15:24
0
ответов
Заголовки hsc2hs C++
Я пытаюсь построить исполняемый файл Haskell с FFI против некоторых источников C++. У меня есть заголовок C (cstuff/foo.h), как это: #ifndef _FOO_H_ #define _FOO_H_ #include <somecppheader.c> // Some header outside of my control with C++ const…
06 сен '15 в 11:52
1
ответ
Как СПЕЦИАЛИЗИРОВАТЬ для типа hsc2hs?
Я пытаюсь использовать прагму SPECIALIZE для типа, который я получаю через hsc2hs #type, Я попробовал что-то вроде этого: {-# SPECIALIZE someFn :: #{type DWORD} -> #{type DWORD} -> Bool #-} someFn :: Eq a => a -> a -> Bool Эта попытка…
22 сен '15 в 22:54
0
ответов
Кабал кросс-компиляция для проблемы ARM с hsc2hs
Я пытаюсь кросс-компилировать cabal-install для АРМ. Это сводится к установке необходимых пакетов один за другим. Я смог настроить, собрать и установить некоторые пакеты, следуя этой странице: Как мне установить зависимости при кросс-компиляции кода…
28 окт '15 в 19:00
1
ответ
Как сделать документацию по пикше для членов перечисления hsc2hs
Я использую hsc2hs для импорта набора значений enum из заголовка C. Мой код (упрощенный) выглядит так: -- | newtype wrapper around Windows SDK SE_OBJECT_TYPE enumeration newtype SecurityObjectType = SecurityObjectType BYTE #{enum SecurityObjectType,…
26 мар '15 в 13:03
1
ответ
Как я могу выделить и повторно использовать структуру C из Haskell?
В частности, я пытаюсь изучить интерфейс сторонних функций Haskell, написав привязку к библиотеке игр Allegro. В родном языке C Allegro цикл основного события выглядит примерно так: // initialize event struct ALLEGRO_EVENT event; // main loop while …
08 июн '12 в 19:49
0
ответов
Использование стека с hsc2hs для работы с Haskell и C FFI?
У меня есть file.hsc в моем проекте стека, который обычно должен быть предварительно обработан с помощью hsc2hs file.hsc, Бег stack build вместо этого вызывает чтение файла как обычного файла haskell, без предварительной обработки. Вопрос: есть ли с…
21 окт '16 в 06:10
1
ответ
Имитация нажатий клавиш с помощью Haskell в Windows
Я пытаюсь написать программу на Haskell, которая имитирует нажатия клавиш в Windows. Я пытался вызвать keybd_event и SendInput, но ни один из них не скомпилирован. Я могу запустить программу с переводчиком, хотя. Когда я пытаюсь собрать программу, к…
24 окт '13 в 23:29
1
ответ
hsc2hs: мутировать структуру C с помощью Haskell
Я пытаюсь написать программу на Haskell, которая взаимодействует с C (в конечном счете, для iOS через GHC-iOS). Я хочу, чтобы он передал строку из C в Haskell, чтобы Haskell обработал ее, а затем возвратил некоторые типы данных из Haskell в C Struct…
27 май '15 в 05:56
0
ответов
Использование hsc2hs с HPack и Stack
Я хотел бы использовать hsc2hs через Stack и HPack. Проблема в том, что HPack не позволяет мне перечислять.hsc файл в качестве исходного файла, только .hs, изменения в .hsc файл не запускает перестройку в stack build. Мой package.yaml файл выглядит …
21 фев '20 в 05:15
1
ответ
Что такое% в препроцессоре Haskell и как он соотносится с такими типами, как Uint8 (если вообще)?
Я хотел бы лучше понять следующий код в целом. Примеры для MDouble включены во фрагмент, чтобы продемонстрировать пример, в котором препроцессор не используется. #let numarray t = "\ foreign import ccall unsafe mxIs%s :: MXArrayPtr -> IO CBool\n\…
27 май '20 в 18:38
1
ответ
Какова цель повторяющегося параметра в этой конструкции #let hsc2hs?
В следующем коде это выглядит как numarray принимает только один параметр, поэтому я не уверен, что повторяется #t используется для, но вызывает ненормальный выход hsc2hs, когда присутствуют не все: #let numarray t = "\ foreign import ccall unsafe m…
11 июн '20 в 19:40