[Mono-list] What's the best way for me to contribute?

Miguel de Icaza miguel@ximian.com
15 Jul 2001 20:50:37 -0400


> I prefer 'hard' problems, especially 'impossible' problems :-) The harder 
> the better. I've got lots of time on my hands right now.

I have a hard problem for you ;-)

Well, I do have something for you which might be just ideal ;-)

The runtime (both the interpreter and JITer) need to be able to invoke
native functions from the C library in a number of ways.  These is
refered in the .NET documentation as `Platform Invoke' (PInvoke for
short).

PInvoke basically allows you to invoke methods from managed code (ie,
the garbage collected, virtual execution environment) into traditional
libraries.

PInvoke supports a number of mechanisms for calling a function, and
various modes of marshalling data and passing data back and forth.
This is obviously system dependant, as we need to dynamically generate
code that would marshal or pass the arguments to the native function,
and then decode the return values.

This is obviously platform dependant, so we must abstract this. 

Miguel.