Dynamic languages are traditionally associated with an interactive environment, giving you a run-evaluate-print loop (REPL), and allowing for an explorative trial-and-error approach to programming. The Dynamic Language Runtime (DLR) is a dynamic language support system that sits on top of the CLR and provides language services required by most dynamic language implementations.
How do you integrate your managed and unmanaged projects? There are many factors that affect the way the CLR marshals data between the unmanaged and managed worlds.
Back in the January issue of MSDN Magazine, Yi Zhang and Xiaoying Guo explain some basic but often overlooked concepts that will simplify your everyday attempts to marshal between managed and unmanaged code, including the use of InAttribute and OutAttribute, return values, StringBuilder, memory ownership, and P/Invoke.
Don't forget to browse the code in our online code library.