https://bugzilla.novell.com/show_bug.cgi?id=342700

           Summary: "Mixed Mode" assemblies in Cecil
           Product: Mono: Class Libraries
           Version: unspecified
          Platform: Other
        OS/Version: Other
            Status: NEW
          Severity: Normal
          Priority: P5 - None
         Component: Cecil
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]
         QAContact: [EMAIL PROTECTED]
          Found By: ---


Since these aren't actually documented in the spec I'll write out the details
here. A regular assembly and mixed mode assembly only differ in that a regular
one only has an entry point with a call to the mscoree entry point, while a
mixed mode assembly contains more code before or after the call to mscoree. if
there is a custom entry point, the MS.NET runtime will execute it when loading
the assembly. 

Doing calls from unmanaged to managed code depends on the mscoree api, using
the ee.h and related files. Calling unmanaged methods from managed code is done
by defining a global method (a real one, shows in the root in ildasm) with a
methodimpl of Native. The RVA points then to the unmanaged code in the .text
section. These methods aren't accessible from outside the assembly, but from
within can be called with regular calls.


-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
_______________________________________________
mono-bugs maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-bugs

Reply via email to