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
7
A
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
- 1. FFI Haskell Geri Arama Durumu
- 2. Haskell dışa aktarma modülünü ek içe aktarılan modülle dışa aktar
- 3. Verileri dışa aktarma veya görüntülerle Word'e dışa aktarma
- 4. Adlandırılmış dışa aktarma ve varsayılan dışa aktarma aynı anda
- 5. Dışa aktarma sütunu csv'sini dışa aktarma php-mysqli
- 6. Düğüm dışa aktarma
- 7. Modüllerdeki dışa aktarma modülleri
- 8. Dışa aktarma matrisi r
- 9. Apiary: API'yi JSON olarak dışa aktarma, istemci kodu oluşturmak için
- 10. Java içe aktarma ve dışa aktarma bağımlılıkları
- 11. Mac'te MonoDevelop - Dışa Aktarma Ayarları
- 12. Genel değişkenleri DLL'den dışa aktarma
- 13. GHC/FFI: C
- 14. es2015 yeniden dışa aktarma modülü ve yeniden dışa aktarılmış modülün tek dışa aktarma işlevini geçersiz kılma
- 15. Video dosyasına dışa aktarma CoreAnimation
- 16. Modül dışa aktarma sınıfı Nodes.js
- 17. Heroku Postgres'ten yedek dışa aktarma
- 18. NetBeans ile JAR'yi dışa aktarma
- 19. Diziyi özel nesnelerle dışa aktarma
- 20. ajax ile MVC'ye dışa aktarma
- 21. ReactJS dışa aktarma (varsayılan) sınıfı
- 22. Google BigQuery'den CloudSQL'e dışa aktarma?
- 23. Moğol veritabanı modülü dışa aktarma
- 24. eclipse hatası dışa aktarma eklentisi
- 25. Anaconda dışa aktarma Ortam dosyası
- 26. Android Studio'dan dışa aktarma kısayolları
- 27. ithal C++ veri türleri ffi
- 28. Düğüm Modülleri - buna referans veren değişkenlere karşı dışa aktarma işlevlerini dışa aktarma?
- 29. Neden Roslyn boşluk olmadan yöntem kodu üretiyor
- 30. ES 6 modüllerinde yeniden dışa aktarma