Steven Schveighoffer wrote:
On Tue, 09 Feb 2010 15:58:37 -0500, Walter Bright <newshou...@digitalmars.com> wrote:

Steve Teale wrote:
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.

The dmd/samples/d/dserver.d is an example of a Windows DLL in D.

According to Don (haven't tried, because I don't have a windows box handy), any D2 DLL will fail, even an empty one because of http://d.puremagic.com/issues/show_bug.cgi?id=3342

It is a bad problem, but it doesn't apply to implicitly loaded DLLs, only dynamically loaded ones, and it also doesn't apply to Vista or Windows 7.


That aside, having to handle manual steps to ensure the runtime doesn't lose its mind is unacceptable. It has to be handled without any manual runtime coding to be a viable solution. DDL is not a solution, its a hack.

In other words, I should be able to flip a compiler switch to build a shared lib, and I shouldn't have to do anything special aside from exporting symbols. This is the way it is in all other programming languages.

Until Phobos is a shared lib, I don't think we need to have any discussions about any existing solutions. That is requirement number 1 for saying D supports shared libs.

Shared libraries (on Linux) and Windows DLLs are very different things.

Phobos as a DLL is a different problem than creating DLLs with D. DLLs in D can be created that are statically linked with Phobos, and that can be accessed by any executable in any language.

Reply via email to