Moteur d'exécution

Un article de Wikipédia, l'encyclopédie libre.

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 programme ou une bibliothèque qui permet l'exécution d'un autre programme.

À 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).

[modifier] Caractère particulier du moteur d'exécution

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. 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.

[modifier] Voir aussi