8. Conclusion

Nous avons vu deux manières de charger un greffon. L'une utilise fork() et l'autre dlsym. La première a le gros avantage de laisser le programmeur de greffon libre du langage à utiliser (C, C++, script, Perl...). La seconde a le gros avantage d'être rapide, puisque le chargement de bibliothèques partagés est bien plus rapide qu'un fork() suivi d'un execve(). Et il est d'autant plus rapide que le greffon est compilé, ce qui ne sera probablement pas le cas pour la première manière de lancer un greffon.

Chacune de ces deux méthodes a un intérêt, et vous êtes seul juge pour savoir quelle méthode est la plus appropriée. Mais je me permettrai d'influencer le juge en lui disant qu'il suffit d'avoir un greffon, à charger avec dlopen(), capable de faire un fork() pour qu'un chargeur conçu uniquement pour les greffons à charger via dlopen() soit capable de charger aussi les greffons autres. Ce greffon est alors lui-même un chargeur.

création est mise à disposition sous un contrat Creative Commons