> On 19 Mar 2017, at 22:34, Chase <kiro....@gmail.com> wrote:
> I apologize as I used the term marshaling incorrectly here. I used it as a
> term to describe the differences in how certain objects specifically structs
> are passed between the two methods. As for internal calls, you receive a
> pointer to memory of the struct, and thunks you pass a boxed mono object.
These API’s (not forgetting mono_runtime_invoke) do, as you say, use different
calling conventions for their reference type arguments.
I don’t think that there is much to be done about this at the Mono run time
The thunking API is certainly simpler given that you just have to provide
You could likely provide some helper functions that could query an exclusively
MonoObject * argument list and unbox reference types on the fly.
> I've written a wrapper generator which aids in the process of binding the
Which language are you calling into the embedded API from?
In my own case my wrappers are produced a code generator which understands how
to generate argument lists both for property thunking and for method invocation
Mono-devel-list mailing list