Moteur d'exécution

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

Un moteur d’exécution, bibliothèque d’exécution ou runtime (abréviation de runtime system ou runtime library, runtime signifiant, en anglais, « au moment de l’exécution ») est un système logiciel qui permet l’exécution de programmes dans un langage de programmation donné.

À cet effet, un moteur d’exécution comprend tout le code et toutes les données du langage dont un programme pourrait avoir besoin pendant son exécution. Chaque implémentation d’un langage ou d’une famille de langages fournit donc en général un moteur d’exécution pour les programmes qu’elle va compiler et/ou interpréter.

Dans certains cas, un environnement de programmation fournit plusieurs moteurs d’exécution, l’un, plus complet, servant au développement de l’application, l’autre, plus compact et prévu pour être distribué avec l’application, servant à l’utilisation normale de celle-ci. Dans certains environnements de programmation propriétaires, le moteur d’exécution de développement offre de nombreuses possibilités supplémentaires, mais le développeur n’a pas le droit de le distribuer, contrairement au moteur d’exécution servant à l’utilisation qui, s’il est plus limité, est en général distribuable avec une application réalisée dans l’environnement (exemple : Windev).

Caractère particulier du moteur d’exécution[modifier | modifier le code]

Le moteur d’exécution se distingue d’autres modules ou bibliothèques de fonctions dont un programme pourrait avoir besoin pendant son exécution en ce que, en général, tous les programmes d’une implémentation dépendent du moteur d’exécution, alors que les autres modules ou bibliothèques ont un caractère optionnel.

Exemple : par défaut, tous les programmes C (ou C++) compilés par GCC sont liés à sa bibliothèque standard C (ou C++) et à sa bibliothèque d’exécution.

Certaines implémentations permettent parfois de produire un programme indépendant du moteur d’exécution, intégrant uniquement les éléments du moteur d’exécution dont il a besoin, notamment pour produire un programme plus léger[1]. Dans les cas où le moteur d’exécution fait partie du système où est exécuté le programme (sous forme d’une bibliothèque dynamique ou d’un programme chargeur), cela permet également de rendre le programme indépendant de son environnement d’exécution.

Notes et références[modifier | modifier le code]

  1. C’était par exemple le cas des programmes compilés par Turbo Pascal 7.

Voir aussi[modifier | modifier le code]