D's New GC and Object Allocation Pools
Mike via Digitalmars-d
digitalmars-d at puremagic.com
Sun Oct 26 01:02:24 PDT 2014
On Sunday, 26 October 2014 at 07:08:21 UTC, Mike wrote:
> I tried this on my Linux desktop, and while everything compiled
> and linked without errors, it resulted in a segmentation fault
> at runtime. But where I have failed, others may succeed. I
> tested with LDC and GDC, but not DMD.
It does work, but for some reason if I replace the printf
statement below with D's writeln, I get a segmentation fault. I
don't know why. Anywhere here's a trivial example to illustrate
the idea.
module main;
import std.stdio;
import core.stdc.stdio;
extern (C) Object __wrap__d_newclass(const ClassInfo ci)
{
printf("You haven't provided any custom allocation yet!\n");
while(true) {}
return null;
}
void main(string[] args)
{
}
Compile with:
gdc -Wl,-wrap,_d_newclass main.d
You'll see it output the string before it even reaches main
because the runtime initialization seems to allocate a few
things. But, you get the idea. destroy is just a template,
however, so it will need a different method.
Mike
More information about the Digitalmars-d
mailing list