A special treat

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Tue Feb 9 09:42:46 PST 2010


Steven Schveighoffer wrote:
> On Tue, 09 Feb 2010 10:53:47 -0500, Steve Teale 
> <steve.teale at 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



More information about the Digitalmars-d mailing list