From: Arne Vajhøj on 13 May 2010 21:15 On 13-05-2010 20:37, Thomas Pornin wrote: > According to Lew<noone(a)lewscanon.com>: >> That is instructive. I thought "unmanaged" code in .Net (with which >> I'm barely passingly familiar) meant high-level code still (e.g., C#), >> but without the memory-management features (GC). > > Well, C# has that, too. C# syntax tends to agglomerate features quite > fast. You can have "unmanaged" C# code, with C-like things like explicit > pointer arithmetic. But the term "unmanaged" is also used to describe > native code. Basically, in the .NET world, "managed" means "code where > types, array accesses, memory management,... is under strict control of > the VM" and "unmanaged" means "whatever is not managed". Unmanaged code is native code. You can not produce that with Microsofts C# compiler. C# code does not become unmanaged just by using unsafe features. C# managed code can somewhat work with unmanaged data though interop classes. Arne
From: Mike Schilling on 13 May 2010 23:16
Thomas Pornin wrote: > According to Lew <noone(a)lewscanon.com>: >> That is instructive. I thought "unmanaged" code in .Net (with which >> I'm barely passingly familiar) meant high-level code still (e.g., >> C#), but without the memory-management features (GC). > > Well, C# has that, too. C# syntax tends to agglomerate features quite > fast. You can have "unmanaged" C# code, with C-like things like > explicit pointer arithmetic. That's "unsafe" code. "Unmanaged" code means code that's not produced from ..NET IL. |