Compilation php?

Compilation php? - PHP - Programmation

Marsh Posté le 31-10-2004 à 17:57:27    

Je programme depuis qque temps en php mais je n'avais jamais entendu parler de compilation. Pouvez vous m'éclairer brievement sur ce sujet?

Reply

Marsh Posté le 31-10-2004 à 17:57:27   

Reply

Marsh Posté le 31-10-2004 à 18:57:01    

tout ce que tu dois savoir c'est que le php n'est pas compilé , si tu veux en savoir plus, va voir du coté du C/C++ & co

Reply

Marsh Posté le 31-10-2004 à 18:59:29    

Citation :

Qu'est ce que la compilation ?
 
Tout programmeur utilise jour après jour un outil essentiel à la réalisation de programmes informatiques : le compilateur. Un compilateur est un logiciel particulier qui traduit un programme écrit dans un langage de haut niveau (par le programmeur) en instructions exécutables (par un ordinateur). C'est donc l'instrument fondamental à la base de tout réalisation informatique.
 
Tout programme écrit dans un langage de haut niveau (dans lequel il est fait abstraction (sauf pour quelques instructions) de la structure et des détails du calculateur sur lequel les programmes sont destinés à être exécutés) ne peut être exécuté par un ordinateur que s'il est traduit en instructions exécutables par l'ordinateur (langage machine, instructions élémentaires directement exécutables par le processeur).
 
Une autre phase importante qui intervient après la compilation pour obtenir un exécutable est la phase d'éditions de liens. Un éditeur de liens résoud entre autres les références à des appels de routines dont le code est conservé dans des librairies. En général, un compilateur comprend une partie éditeur de liens. Nous n'en parlerons pas ici.
En outre, sur les systèmes modernes, l'édition des liens est faite à l'éxécution du programme ! (le programme est plus petit et les mises à jour plus faciles).
On ne parlera pas non plus de la précompilation (cf préprocesseur C).
 
Attention, il ne faut pas confondre les compilateurs et les interpréteurs !
 
Un compilateur est un programme (de traduction automatique d'un programme écrit dans un langage source en un programme écrit dans un langage cible).
Exemples de langages compilés : Pascal, C, C++, ADA, Fortran, Cobol
 
Au lieu de produire un programme cible comme dans le cas d'un compilateur, un interprète exécute lui même au fur et à mesure les opérations spécifiées par le programme source. Il analyse une instruction après l'autre puis l'exécute immédiatement. A l'inverse d'un compilateur, il travaille simultanément sur le programme et sur les données. Généralement les interpréteurs sont assez petits.
L'interpréteur doit être présent sur le système à chaque fois que le programme est exécuté, ce qui n'est pas le cas avec un compilateur. Généralement les interpréteurs sont assez petits, mais le programme est plus lent qu'avec un langage compilé. Autre inconvénient : on ne peut pas cacher le code (et donc garder des secrets de fabrication), toute personne ayant accès au programme peut le consulter et le modifier comme il le veut. Par contre, les langages interprétés sont souvent plus simples à utiliser et tolèrent plus d'erreurs de codage que les langages compilés.
Exemples de langages interprétés : BASIC, scheme, CaML, Tcl, LISP, Perl, Prolog


Source
ca vaut ce que ca vaut, mais ca m'avait l'air assez clair à première vue
 
Le PHP fait partie des langages interprétés


Message édité par masklinn le 31-10-2004 à 19:00:48

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 01-11-2004 à 18:04:50    

Masklinn a écrit :

[quote]Qu'est ce que la compilation ?
 
tout ce que tu dois savoir c'est que le php n'est pas compilé
 


 
Alors comment se fait il que pour utiliser certaines fonctions il me faille passer par une compilation?


Message édité par manlabanane le 01-11-2004 à 18:05:55
Reply

Marsh Posté le 01-11-2004 à 18:08:14    

manlabanane a écrit :

Alors comment se fait il que pour utiliser certaines fonctions il me faille passer par une compilation?


 
une compilation du noyau php, pas de la page (et encore, ça doit être propre à Linux, j'ai pas d'exemples sous Windows en tête)
 
//edit : pour les exemples windows, je parle bien sur de fichier c à compiler soit même :)


Message édité par naceroth le 01-11-2004 à 18:11:24
Reply

Marsh Posté le 01-11-2004 à 18:10:41    

manlabanane a écrit :

Alors comment se fait il que pour utiliser certaines fonctions il me faille passer par une compilation?


Parce que les langages interprétés utilisent un intepréteur... qui est compilé.
 
Or il est possible que certaines options/fonctions doivent être inclues lorsque le dit interpréteur est compilé, donc généré.
(ou alors lorsqu'il est lié au module, ou ...)
 
Ce n'est de toute facon pas ton script PHP qui est compilé [:spamafote]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 01-11-2004 à 20:51:05    

"" //edit : pour les exemples windows, je parle bien sur de fichier c à compiler soit même ""
 
ok, hors de portée pour l'instant en ccl...

Reply

Marsh Posté le 01-11-2004 à 21:32:03    

Attention, bien que php soit un langage interprete il est egalement "compile".
Lors de l'execution php est compile en bytes codes qui sont par la suite interpretes.
 
Il existe d'ailleurs des "compilateurs" pour php, en réalite il en existe de deux types.
Il existe certains compilateurs qui metent en cache le code php compile pour ensuite n'utiliser que le code deja compiler donc ainsi gagner du temps.
 
Il en existe un deuxieme type qui lui essaye de compiler php en executables. Il y en a tres peu qui fonctionnent, il y en a un d'ailleur qui est sorti en meme temps que php5.
 
Malheuresement j'en connais aucun qui soit gratuit ...
 
Pour plus d'infos :
http://slashdot.org/article.pl?sid=04/07/13/2237233
http://www.roadsend.com/home/index [...] D=compiler


Message édité par cerel le 01-11-2004 à 21:34:47
Reply

Marsh Posté le 01-11-2004 à 21:34:29    

en fait, mon but était d'utiliser des fonctions imap et c'est ainsi que je suis tombé sur des instructions qui ne voulaient rien dire pour moi...

Reply

Marsh Posté le 01-11-2004 à 21:59:32    

salut, sinon dans les extensions pecl, je suis tombé là dessus aussi : http://pecl.php.net/package/bcompiler

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed