Steven Schveighoffer wrote:
On Tue, 09 Feb 2010 10:53:47 -0500, Steve Teale <steve.te...@britseyeview.com> wrote:

When D2 is 'frozen', as a special treat would it be possible for it to be
able to generate object files that could be converted into shared
libraries, and for Phobos to be a shared library to support same.

I have tried every which way I can think of to create shared libraries
using D. The closest I have come is with the old 1.030 GDC, and even with
that there are problems. I've tried to describe the current situation in
some detail on the blog section of my <a href="http://
www.britseyeview.com/GDC-newbie.html">GDC-newbie page</a>. It is too long
to post on the newsgroup.

The inability to do this is a real show-stopper for D on Linux, and
unless things have got better since I last tried, the same can be said
for Windows DLLs.

Please!

Many (including myself) have expressed the real requirement for shared libraries. Sometimes the response is "oh who needs shared libraries anyways, there is so much memory in todays computers" and the other response is that "Windows DLLs suck, so we can't do it".

I agree it needs to be figured out before D is considered a viable professional language. I don't think it's impossible, but someone just needs to spend the time.

Another new problem to pile on to Windows DLLs is the new requirement for default thread local storage. See this bug that is very unlikely to get fixed (by Microsoft):

http://d.puremagic.com/issues/show_bug.cgi?id=3342

So the tradeoff is, either use crappy TLS (using a function to look up global variables) or only support Windows Vista and later. If Windows 7 hadn't come out, I'd say requiring Vista is about as bad as not having DLLs :)

-Steve

A lot of Phobos consists of templates, which would be difficult to put in a shared library.

Andrei

Reply via email to