Callbacks in D as void functions
Adam D. Ruppe via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Thu Nov 13 07:17:43 PST 2014
On Thursday, 13 November 2014 at 14:50:00 UTC, Wsdes wrote:
> I am trying to write a wrapper for a C API in D. In C I have the
> following definition of a callback type:
>
> typedef void (*Callback)(void*);
I would translate this directly to D:
extern(C) alias Callback = void function(void*);
>
> Here the MyDtaCB function has no prototype but is defined as
> follows:
>
> void MyDtaCB(void* pVoid){
> // Do stuff
> }
And don't forget extern(C) on this too:
extern(C) void MyDtaCB(void* pVoid) {
}
And assign it to the struct:
Events.OnData = &MyDtaCB;
Unless you have a link to the wiki that talks about ints, maybe
that says something different, but I like to keep my C and D code
that calls it looking pretty much the same when I can.
More information about the Digitalmars-d-learn
mailing list