Dynamic D Library

Trass3r mrmocool at gmx.de
Thu Jul 16 14:21:06 PDT 2009


teo schrieb:
>> You're missing something :)  DDL doesn't require you to have a D
>> runtime in the shared library because unlike DLLs, DDLs can have
>> unresolved externals.  That's the main issue: DLLs must have performed
>> all their symbol resolution at link-time, and cannot automatically
>> load symbols out of the host.  So, you end up with all the runtime
>> duplicated in the DLL.  DDLs, as well as shared libraries on _every
>> other platform_, allow you to have unresolved externals in the shared
>> library which are linked at *load-time*, so that there is one runtime,
>> which is in the host, which all the shared libraries use.
> 
> Perhaps I am missing something else ;) because that is exactly my point. DDLs need neither runtime nor Phobos statically linked. Have a look at Java for instance - Java developers create packages (not DLLs) and that is enough. They deploy just the relevant code - no extra bytes. And yes, I know that the JVM is behind the scene. Exactly this is the idea here: the D Runtime can act like the JVM.
> 

So where's your problem?
Go use DDL, you may also try h3r3tic's enhanced fork with a new linker:
http://team0xf.com:1024/ext/file/70b9addb42d5/ddl/
http://team0xf.com:1024/linker/



More information about the Digitalmars-d mailing list