On 7/1/11, Marco Cosentino <cosentino...@gmail.com> wrote: > 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 >
This is a good start: http://en.wikipedia.org/wiki/Calling_convention