2013-08-15 16 views
7

Ich habe eine c-Bibliothek, für die ich eine FFI-Schnittstelle bereitstellen möchte. Das ist einfach genug, aber ich kann nicht herausfinden, wie man die Verpackung richtig macht. Es wäre schön, nur in der Lage sein zuIst es möglich, c-code mit Haskell cabal zu packen?

cabal install librarybindings 

und haben Kabale es automatisch mit gcc bauen, erzeugen die .o-Datei und schließen, dass mit der Verteilung. Im Moment kann ich das Paket gut kompilieren, aber wenn Sie eine ausführbare Datei mit den Bindungen erstellen, müssen Sie GhC explizit die .o-Datei in der Befehlszeile übergeben. Jawohl.

+4

Schauen Sie sich [zlib] (http://hackage.haskell.org/package/zlib), es tut genau dies (unter Windows). –

+4

Sicher ist, sehen Sie einfach eine vorhandene Bibliothek mit C-Code für ein Beispiel. Bsp .: bloomfilter, cipher-aes, cipher-aes128, krypto-api und so weiter. Ich denke, bloomfilter ist am einfachsten. –

+0

Danke. Diese Beispiele sind genau das, was ich brauchte. –

Antwort

5

Ja, Sie können C-Code mit Haskell versenden. Siehe z.B.

Vereinbarungs die C-Bits in einem cbits/Verzeichnis abgelegt werden.

Verwandte Themen