Question

Les langages compilés comme C # et Java, ont juste des compilateurs à temps, qui les convertissent (à partir du code d'octets) en code machine (0 et 1). Comment un langage interprété comme VBScript est-il converti en code machine? Est-ce que le système d'exploitation est fait?

Était-ce utile?

La solution

Ils ne sont pas nécessairement convertis en code machine (et ne le font souvent pas).

L'interprète de ce programme exécute les actions appropriées en fonction de ce dont le programme a besoin.

Certains interprètes peuvent générer du code machine (en utilisant des compilateurs JIT), d'autres peuvent s'en tenir à une interprétation simple du script.

Autres conseils

Je sais que c'est vieux, mais étant donné que je ne peux pas commenter (représentant), je veux ajouter une réponse clarifiante:

Un interprète est utilisé pour interpréter Le script (que ce soit vbscript, javascript, python ou tout autre script) en instructions individuelles. Ces instructions peuvent se présenter sous la forme d'un code machine ou d'une représentation intermédiaire (que le système d'exploitation ou un autre programme peut utiliser). Certains interprètes sont faits pour quelque chose de plus proche du langage d'assemblage et le code source est plus ou moins exécuté directement.

La plupart des langages de script modernes (par exemple, Python, Perl, Ruby) sont interprétés en une représentation intermédiaire, ou à une représentation intermédiaire et en code compilé (aka machine, aka objet). La distinction importante (vs les langues compilées) est que un interprète Ne prend pas un corps entier de code et ne traduit pas sa signification en code machine, il prend chaque ligne à la fois et interprète sa signification comme une unité autonome.

Considérez cela comme la différence entre traduire un essai entier de l'anglais vers le russe (code compilé) par rapport à chaque phrase dans l'essai et la traduire directement (code interprété). Vous pouvez obtenir un effet similaire, mais le résultat ne sera pas identique. Plus important encore, la traduction d'un essai entier comme un ensemble total de travaux demande beaucoup plus d'efforts que de faire une phrase à la fois comme une unité autonome, mais toute la traduction sera beaucoup plus facile à lire pour les russes que la phrase plutôt maladroite - Version de saisie. D'où le compromis entre le code de compilation par rapport au code d'interprétation.

La source: https://en.wikipedia.org/wiki/interpreter_(computing), vivre

C'est la réponse Je cherchais. Comme JavaScript Engine, il y avait un moteur VBScript, qui convertit le code lisible par l'homme en code machine. Ce moteur VBScript est analogue au compilateur JIT dans CLR et JVM. Seulement qu'il convertit directement du code lisible par humain en code machine. Par opposition à C # ayant un code d'octet intermédiaire.

Se référant à cela VB Script Wikipedia Article,

  1. Lorsque le script VB est exécuté dans un navigateur, il utilise vbscript.dll Pour interpréter le script VB.
  2. Lorsque le fichier de script VB est exécuté à partir de la ligne de commande ou d'un fichier batch alors cscript.exe est utilisé pour interpréter le script VB.
  3. Lorsque le script VB est utilisé par Windows Os lui-même à diverses fins, comme l'affichage des boîtes de messages d'erreur ou des messages de notification de couleur jaune dans le coin droit de la barre de tâche, il est interprété en utilisant wscript.exe qui est un service Windows.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top