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/

Reply via email to