Dans la terminologie de Microsoft, le managed code est un code source qui s'exécute sous le contrôle de la machine virtuelle CLR, ou d'une autre machine virtuelle. Ce terme est employé par opposition au unmanaged code (code non géré), qui est exécuté directement par le processeur.

Le « managed code » permet d'améliorer la sûreté de fonctionnement d'un programme informatique, et de simplifier le travail du programmeur. Ce terme fait partie de la terminologie Microsoft, mais le même concept existe pour le langage Java.

Le ramasse-miettes est un exemple d'avantage du « managed code » : si le programmeur oublie de libérer de l'espace-mémoire, le ramasse-miette s'en charge, ce qui évite de provoquer des fuites de mémoire invisibles.

Le « managed code » peut aussi permettre par exemple de vérifier que les variables sont bien du type attendu. Ceci ne simplifie pas nécessairement la tâche d'un programmeur, mais permet une meilleure sûreté de fonctionnement.

Les principaux langages de programmation pour écrire du managed code sont C# et Visual Basic .NET.

Analyse du plantage d'un programme

modifier

Le managed code évite des plantages des programmes, mais pas tous. Si, malgré tout, il y a un plantage, il est plus facile à analyser. Avec du code non géré, le plantage se produit bien longtemps après l'erreur (effet bombe à retardement), alors qu'avec du managed code, le plantage se produit plus près de l'emplacement de l'erreur[réf. nécessaire].

Comparatif avec Java

modifier

Le terme de managed code provenant de Microsoft ne fait pas partie de la terminologie Java, mais le même concept existe : du code exécuté dans la JVM bénéficie de plusieurs avantages, dont notamment le ramasse-miettes.

Articles connexes

modifier

Références externes

modifier


📚 Artikel Terkait di Wikipedia

Paramètres régionaux

définis de différentes manières : Locale Identifier (LCID) pour le code non-CLI (unmanaged code) sur Microsoft Windows est un nombre tel que « 1033 » pour l'anglais

P/Invoke

); Code C# pour appeler la fonction ExtractIcon : [DllImport("shell32.dll")] static extern IntPtr ExtractIcon( IntPtr hInst, [MarshalAs(UnmanagedType

The Jester

2012) (en) T. J. O'Connor, « The Jester Dynamic: A Lesson in Asymmetric Unmanaged Cyber Warfare » [PDF], SANS Institute, 30 décembre 2011 (en) Paul Wagenseil

Fibre (informatique)

d'exécution. A Fiber Class Implementing Coroutines for .NET by Wrapping the Unmanaged Fiber API, Ajai Shankar, MSDN Magazine Fibers, MSDN Library Fonctions

Sylviculture

Laurent Bergès et al., « Biodiversity differences between managed and unmanaged forests: meta-analysis of species richness in Europe », Conservation Biology

Bois mort

Preliminary estimates of fallen deadwood and standing dead trees in managed and unmanaged forests in Britain. Journal of Applied Ecology 35: 148–155 Larrieu L (2014)