Writing a library

Mn mn at mailinator.com
Fri Feb 16 12:46:41 PST 2007


Jarrett Billingsley Wrote:

> "Mn" <mn at mailinator.com> wrote in message 
> news:er492f$1sti$1 at digitalmars.com...
> > Hello World!
> >
> > Is it possible to write a library in D that can be used by other 
> > programming languages? And if yes, how to do it? I can think of two ways 
> > of "using" a lib in general:
> >
> > 1. The OOP way: use a class of the lib, then its functions, dunno how its 
> > called.
> > 2. The Un-OOP way: use a function of a lib, its called P/Invoke in C#.
> >
> > I am only interested in the more popular languages like C, C++, Java, C#, 
> > PHP.
> >
> > Greetings and thank you.
> > -- Mn
> 
> No other languages understand D calling or mangling conventions, but D can 
> make functions with C, Windows, and Pascal calling conventions.  If you just 
> do something like:
> 
> extern(C) export void func(int x) { ... }
> 
> You can then, maybe, make a DLL or something out of it which can be called 
> from virtually any other mainstream language, since most things understand 
> the C calling convention. 
> 
> 

So if I want to create an instance of a class, the instance being created outside but the class being inside the lib, and then the class staying alive until I somehow get rid of it (calling a function of the class) - is this possible?

Short: is it possible to export a class, not only its functions? If yes, how?

Thanks.
-- Mn



More information about the Digitalmars-d mailing list