C#: support for interoperation
Control data layout
- Control field order, packing, overall size of a struct
Object pinning
- Declare a local variable pinned and any object pointed to by it won’t move during GC.
Marshalling
- Arrays, structs, strings are interesting.
Unsafe subset with pointer arithmetic
- For complex situations.
- Instead of falling back on C++