Hanterad kod ( eng. managed code ) är en term som introducerats av Microsoft för att hänvisa till koden för ett program som körs under "kontroll" av en virtuell .NET -maskin [1] [2] [3] - Common Language Runtime eller Mono . I det här fallet kallas maskinkoden unmanaged code ( engelska unmanaged code ).
Ordet " hanterad " syftar här på metoden för att utbyta information mellan programmet och exekveringsmiljön . Det betyder att kontrollmiljön när som helst under körningen kan pausa exekveringen och få information som är specifik för det aktuella tillståndet. Den information som behövs för att göra detta finns i den hanterade mellanspråkskoden och i metadata som är associerade med den koden .
Tekniskt sett är hanterad kod vilken kod som helst som körs i en felsökningsmiljö .
Hanterad kod kan skrivas på ett av programmeringsspråken som stöds av .NET eller MONO.
Huvudspråken som stöds av .NET [4] [5] är C# , C++/CLI , Microsoft Visual Basic , JavaScript , samt F# och många fler.
Mono-projektet stöder [6] C#, F#, Java, Scala , Boo , Nemerle , Visual Basic.NET, Python , JavaScript , Oberon , PHP , Object Pascal , Lua , Cobra, Synergy-DBL samt #Smalltalk, DotLisp och mer.
Microsofts C++-utvecklingsmiljö låter dig skapa både hanterad kod och kompilerad kod som körs på Windows-plattformar med hjälp av C++ runtime- bibliotek.
Fördelarna med att använda hanterad kod är programmeringsbekvämlighet (högre abstraktionsnivå), säkerhetsgarantier och plattformsoberoende. Nackdelarna inkluderar långa uppstartstider och ökad systemresursanvändning.