dynamic library building and loading

Paulo Pinto pjmlp at progtools.org
Wed Sep 26 23:42:43 PDT 2012


On Wednesday, 26 September 2012 at 20:15:35 UTC, nazriel wrote:
> On Wednesday, 26 September 2012 at 20:10:47 UTC, Michael wrote:
>>> Thanks. The loading part is very useful, but I'm still lost 
>>> when it comes to build the shared library itself.
>>>
>>> Andrei
>>
>> Program loads dll at runtime using loader which is configured 
>> to load concrete dll file(s). Like in gtkD 
>> http://www.dsource.org/projects/gtkd/browser/trunk/src/gtkc/Loader.d
>
> Loading Shared lib isn't big issues here.
>
> The bigger one is building Shared library (written in D) and 
> running it in host application without issues (EH, shared GC 
> etc).
>
> Andrei, if you find out how to make those things work, please 
> share your findings. I'm also in need of using shared libraries.
>
> And yeah, probably Martin Nowak will be the best bet to get 
> information from.

Native Oberon/BlueBottle OS really a lot in dynamic modules, as 
everything
is dynamically loaded. As far as I know both operating systems 
have a global GC.

Not sure how Spin does it.

Singularity, uses local GC per process and does not support 
dynamic loading.

Bringing this into D's context, I imagine a solution for the GC 
would be to have it shared across all modules. The biggest 
problem I see, is that all shared libraries have to use the same 
D compiler, or a standard GC ABI needs to be defined.

--
Paulo





More information about the Digitalmars-d mailing list