Magazine
Résumé
Au cours des précédents articles, nous nous sommes familiarisés avec les étapes permettant de construire un programme binaire ainsi qu'avec le format ELF dans lequel il est stocké sur le disque. Ce mois-ci, nous allons découvrir comment le système charge ce format en vue de son exécution.
Comme pour les précédents articles, le système étalon sur lequel les exemples ont été effectués est une Ubuntu 9.10 32 bits. Il est recommandé de l'utiliser, au besoin à l'aide d'un émulateur comme QEmu ou VirtualBox, afin de retrouver les mêmes résultats.
Le fil rouge de cet article sera un simple Hello World dont nous ferons l'offense de rappeler le code source :
#include <stdio.h>
int main(int argc, char *argv[]) {
puts("Hello, ELF!");
return 0;
}
Ce programme sera compilé vers un exécutable dynamique de la façon suivante :
La suite est réservée aux abonnés. Il vous reste 96% à découvrir.
Déjà abonné ? Se connecter
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première
Envie de lire la suite ? Rejoignez Connect
Je m'abonne maintenant