Diff. entre Bibliothèques statiques et partagées

Salut,
Me revoilà avec une autre question ! lol
Ben je suis amené souvent à compiler et à recompiler pour des tests et parceque c amusant.
Mais je tombe souvent sur des termes qui sont assez difficiles à comprendre pour les utilisateurs non-avertis.

Quelle est la différence entre compiler en mode statique et en mode partagé ? Et quel est l’avantage et l’inconvénient de l’un par rapport à l’autre ?

@ ++

En statique, les routines contenues dans les libs (les fichiers .so et .a) qui sont utilisées par ce que tu compiles sont mises “en dur” (prises dans les .a et recopiées) dans l’executable. Ca te fait des gros executables, mais qui tournent partout.
Compiler en shared, qui est le cas le plus général, c’est juste de fournir a ton executable des pointeurs vers les routines puisées dans les libs, mais au moment de l’execution, ton programme doit pouvoir retrouver le .so avec lequel il a été compilé.

[quote=“MattOTop”]En statique, les routines contenues dans les libs (les fichiers .so et .a) qui sont utilisées par ce que tu compiles sont mises “en dur” (prises dans les .a et recopiées) dans l’executable. Ca te fait des gros executables, mais qui tournent partout.
Compiler en shared, qui est le cas le plus général, c’est juste de fournir a ton executable des pointeurs vers les routines puisées dans les libs, mais au moment de l’execution, ton programme doit pouvoir retrouver le .so avec lequel il a été compilé.[/quote]

Donc si j’ai bien compris si on compile php en statique avec apache (donc installé dans l’exécutable httpd), le php sera chargé automatiquement et non plus avec LoadModule…libphp4.so!
A priori ça devrait aller plus vite pour lire le php…