Dne 14.5.2012 19:59, crashtua napsal(a):
But it is something strange, one function need '_' and another dont:(
In D dll i have:

extern (C) int function() f;
alias typeof(f) myfunc;

export extern (C) int retten()
{
return 10;
}
export extern (C) void setf(myfunc ff)
{
f=ff;
}
export extern (C) int ret()
{
return f();
}

In C code:

int(*retten)() = (int (*)())GetProcAddress(dLib,"_retten");
int(*ret)() = (int (*)())GetProcAddress(dLib,"ret");
void(*setf)(int(*)()) = (void (*)(int(*)()))GetProcAddress(dLib,"setf");

Why so strange?

It is probably related to this bug:
http://d.puremagic.com/issues/show_bug.cgi?id=3956

You will have to jump through some hoops to make it work nicely...

Reply via email to