The Next Big Language

Andrej Mitrovic andrej.mitrovich at gmail.com
Mon Oct 18 12:24:58 PDT 2010


In the absence of D ones you can use C libraries. But it's not a big
issue, there's plenty of C libs out there and they can be easily used
from D. There's no need for special wrappers either, unless you want
to make an OO interface for a C lib (this is something the DSFML
project does).

Most of the C libs I've tried so far came in shared-library form (DLLs
on windows). All I needed to do to use a DLL library was to call
implib with the /system flag on the DLL, and there I had an import
library. Then I would call htod on any C header files, and voila, I
have my D interface to the lib. Call DMD with my file, the import
library, and if everything is ok it should compile and run smoothly.
Too easy!

The more complicated issue is when a library is meant to be used only
statically, then you would have to manually export symbols to use it
as a shared lib, or maybe use SWIG to do it automatically (I am about
to try using SWIGD these days.). Either that or you would have to
compile a library with DMC to produce linkable .obj/.lib files, but
I've never tried that before. And there are some COFF2OMF converters
out there as well when that's needed.

On 10/18/10, Gour D. <gour at atmarama.net> wrote:
> On Mon, 18 Oct 2010 22:23:02 +0400
>>>>>>> "Denis" == "Denis Koroskin" <2korden at gmail.com> wrote:
>
> Denis> What D currently lacks is a code written in it. I also think a
> Denis> stable standard IDE and GUI library is a must for a wide D
> Denis> adoption.
>
> That may be true...I hope QtD will become ready soon and for now IDE
> I've chosen to use Emacs + Waf (as build system).
>
>
> What about libs? Is one supposed to mostly use C-libs as 'batteries
> included' considering that, afaics, Phobos is not supposed to be too
> big?
>
>
> Sincerely,
> Gour
>
> --
>
> Gour  | Hlapicina, Croatia  | GPG key: CDBF17CA
> ----------------------------------------------------------------
>


More information about the Digitalmars-d mailing list