Maison  >  Article  >  développement back-end  >  PHP doit-il être compilé ?

PHP doit-il être compilé ?

王林
王林original
2019-09-16 17:53:117179parcourir

PHP doit-il être compilé ?

Bien que php soit un langage interprété, il doit encore être compilé. Laissez-moi vous présenter quels sont les langages compilés et lesquels sont interprétés, et quels sont leurs avantages et inconvénients.

Langage compilé :

1. Utiliser un compilateur spécialisé (similaire à Visual Studio sous Windows) pour cibler des plateformes spécifiques (systèmes d'exploitation). Le code source du langage de niveau supérieur est "traduit" en code machine (y compris les instructions machine et les opérandes) exécuté par le matériel de la plate-forme en une seule fois et conditionné dans un format de programme exécutable (.exe) reconnu par la plate-forme. Cette conversion est appelée le processus. compilation. Le programme exécutable compilé peut être séparé de l'environnement de développement et exécuté indépendamment sur une plateforme spécifique. Une fois certains programmes compilés, ils peuvent également avoir besoin de lier d'autres codes objet compilés, c'est-à-dire d'assembler deux ou plusieurs modules de code objet pour générer le programme exécutable final. De cette manière, une réutilisation du code de bas niveau est obtenue.

2. Le code du langage compilé est compilé une fois et utilisé à plusieurs reprises. Autrement dit, les prédécesseurs plantaient des arbres et les descendants profitaient de l’ombre.

3. C, C++, Objective-C, etc. sont tous des langages compilés

Langages interprétés :

1. Dans le programme Le programme source est précompilé dans un langage intermédiaire avant d'être exécuté, puis le langage intermédiaire est exécuté par l'interprète

2. Chaque fois qu'un programme dans un langage interprété est exécuté, il doit être compilé une fois , de sorte que l'efficacité d'exécution des programmes de langage interprété est généralement inférieure et qu'ils ne peuvent pas fonctionner indépendamment de l'interprète.

3. C#, PHP, Python, Java, etc. sont tous des langages interprétés.

Avantages des langages compilés :

1. L'un des plus grands avantages des langages compilés est sa vitesse d'exécution. Les programmes écrits en C/C++ s'exécutent de 30 à 70 % plus rapidement que les mêmes programmes écrits en Java.

2. Les programmes compilés consomment moins de mémoire que les programmes interprétés.

Inconvénients :

1. L'inconvénient - le compilateur est beaucoup plus difficile à écrire que l'interpréteur

2 Le compilateur débogue le programme. Pas beaucoup d'aide à l'époque - Combien de fois avez-vous rencontré une "exception de pointeur nul" dans votre code C et passé des heures à essayer de déterminer où se trouvait l'erreur dans le code.

3. Le code exécutable compilé est beaucoup plus volumineux que le même code interprété. Par exemple, un fichier .exe C/C++ est beaucoup plus volumineux qu'un fichier Java .class ayant les mêmes fonctionnalités.

4. Les programmes compilés sont spécifiques à la plateforme et donc dépendants de la plateforme.

5. Les programmes compilés ne prennent pas en charge l'implémentation de la sécurité dans le code - par exemple, un programme compilé peut accéder à n'importe quelle zone de mémoire et faire tout ce qu'il veut sur votre PC (la plupart des virus sont écrits à l'aide de langages compilés)

6. En raison d'un manque de sécurité et d'une faible dépendance à la plate-forme, les langages compilés ne conviennent pas au développement d'applications Internet ou basées sur le Web.

Avantages du langage interprété :

1. Excellent support de débogage. Cela ne prend que quelques minutes à un programmeur PHP pour localiser et corriger une "exception de pointeur nul" car l'environnement d'exécution PHP indique non seulement la nature de l'exception, mais donne également le numéro de ligne spécifique et la séquence d'appel de fonction où l'exception se produit ( les fameuses informations de trace de pile). Une telle commodité n'est pas fournie par les langages compilés.

2. Les interprètes sont plus faciles à mettre en œuvre que les compilateurs

3 Excellente indépendance de la plate-forme

4. Haute sécurité - ceci est un besoin urgent pour les applications Internet

. 5. La taille du code du langage intermédiaire est beaucoup plus petite que le code exécutable compilé

Inconvénients :

1 Il prend plus de ressources mémoire et CPU. . En effet, pour exécuter un programme écrit dans un langage interprété, il faut d'abord exécuter l'interpréteur associé. Les interprètes sont des programmes complexes, intelligents, gourmands en ressources et ils consomment beaucoup de cycles CPU et de mémoire.

2. L'efficacité d'exécution est beaucoup plus lente que celle des programmes compilés. L'interpréteur effectue de nombreuses optimisations de code et contrôles de sécurité d'exécution ; ces étapes supplémentaires consomment plus de ressources et ralentissent davantage l'application.

Le contenu ci-dessus est à titre de référence uniquement !

Tutoriel recommandé : Tutoriel vidéo PHP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn