C callback receives bad pointer argument

Marco Cosentino cosentino.ma at gmail.com
Fri Jul 1 02:13:23 PDT 2011


On 01/07/2011 00:30, Andrej Mitrovic wrote:
> Try this:
>
> int
> process (jack_nframes_t nframes, void *arg)
>
> ->
>
> extern(C) int
> process (jack_nframes_t nframes, void *arg)

Thank you Andrej, that solved the problem!

Please can you biefly explain me what happens in the stack when calling 
that function with and without the "extern(C)" declaration?

I think that the D language would benefit from a deep, complete and open 
guide on how to _practically_ interface with C, accounting some popular 
designs cases not just a bunch of trivial cases like using 'printf' and 
a translation table of base types.

Marco


More information about the Digitalmars-d-learn mailing list