2012-03-15 20 views
7

Haskell'de C'den kalınabilir olması gereken bir kod yazıyorum. Haskell'de ihraç edilmesi gereken haskell işlevleri için FFI sarma kodunun yazılmasını basitleştiren bir araç veya kitaplık var mı. Örneğin, dışa aktarılacak bir haskell işlevi verilen araç, gerektiğinde doğru Foreign.C türlerine eşleme haskell tiplerinin eşleştirilmesine (sarıcı kodun oluşturulmasına) dikkat çekecektir. Ayrıca [Int] türlerini eşleştirirken doğru işaretçilerin oluşturulmasına da dikkat eder. Sorunun burada Automatic conversion of types for FFI calls in Haskell nolu adreste denendiği gibi. Ama sadece bir kütüphane gibi mevcut mu?haskell FFI dışa aktarma sarmalayıcı kodu üretiyor

cevap

1

Bunu yapmak için Hs2lib adlı bir araç yazdım. Windows'daysanız şanslısınız, kodun bir dll'ye derlenmesi ve c/C++ veya C# sarmalayıcılarının üretilmesi de dahil olmak üzere her şeyi yapar. Eğer linux üzerindeyseniz, korkarım ki henüz çalışmaya başlamak için derleme adımını alamadım, ama yine de gerekli marshalling bilgilerini ve taslaklarını üretiyor. Bunları -T bayrağını kullanarak tutmak için söyleyebilirsiniz.

İlgili konular