September 28, 2019 Howto create bindings? | ||||
---|---|---|---|---|
| ||||
Hello everyone, i have a rather general question about how to approach the attempt to create a binding for a foreign system, for which bindings already exists for other languages than dlang. To be more concrete: There is this Database i am using in some recent projects: "Apache Cassandra" / "ScyllaDB" - unfortunately, there is no binding for D (afaik "cassandra-d" is incomplete and the development stands still). However, There are some up to date bindings for other programming languages (https://docs.scylladb.com/using-scylla/scylla_drivers/). Can someone with experience in this field give some advice? Would it be possible to use (e.g.) the C++ Project to build $SOMETHING for D? Or would it be better to try to implement it yourself (based on a paper or a existing binding)? Looking forward for an interesting read :) |
September 28, 2019 Re: Howto create bindings? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Martin Brezeln | On Saturday, 28 September 2019 at 09:18:24 UTC, Martin Brezeln wrote: > Hello everyone, > > i have a rather general question about how to approach the attempt to create a binding for a foreign system, for which bindings already exists for other languages than dlang. > > To be more concrete: There is this Database i am using in some recent projects: "Apache Cassandra" / "ScyllaDB" - unfortunately, there is no binding for D (afaik "cassandra-d" is incomplete and the development stands still). > However, There are some up to date bindings for other programming languages (https://docs.scylladb.com/using-scylla/scylla_drivers/). > > Can someone with experience in this field give some advice? > Would it be possible to use (e.g.) the C++ Project to build $SOMETHING for D? > Or would it be better to try to implement it yourself (based on a paper or a existing binding)? > > Looking forward for an interesting read :) If this is a C library (I can't really tell for sure from the linked page) you can use DStep to automatically create bindings: https://github.com/jacob-carlborg/dstep If you don't want bindings, but just want to #include the header files, you can use dpp https://github.com/atilaneves/dpp For the most part, if you want to use C libraries in a project, you shouldn't need to do much work. To do it manually, there's this page https://dlang.org/spec/interfaceToC.html |
Copyright © 1999-2021 by the D Language Foundation