[Mono-list] RE: mono_marshal_get_runtime_invoke (marshal.c)
19 Aug 2003 12:59:12 -0000
On 08/18/2003 Derek Woo wrote:
>>I am trying to understand what this method does in mono
>>mono_marshal_get_runtime_invoke (MonoMethod *method)
>>It looks like it generate a method (in the form of IL) which
>>wraps >>around the "Main" method of a program. Am I getting the
>>meaning? >>Could someone elaborate a little bit on that?
Yes, you are right! The method generates IL wrapper for your
There are 3 main reasons for this,
1. Handling exceptions - The generated method has a filter
exception clause, so that C code can intercept exceptions.
2. Handling calling convention differences - The calling
convention of managed methods may be different from that of
functions in the C, and this IL wrapper does the appropriate
3. Single API to call managed methods - The IL wrapper has the
following signature - MonoObject *runtime_invoke (MonoObject
*this, void **params, MonoObject **exc)
Using this API you can effectively call any managed method
whatever its signature.
Meet your old school or college friends from
1 Million + database...
Click here to reunite www.batchmates.com/rediff.asp