Accès à la sortie de l'assembleur à partir de la source C/C dans GCC
Pour analyser le processus de compilation, il est souvent utile d'extraire le code assembleur émis . Ceci peut être réalisé de deux manières en utilisant GCC :
En utilisant l'option -S :
En ajoutant l'option -S à la commande gcc, le préprocesseur sera invoqué , et la compilation initiale aura lieu. Cependant, le processus s'arrêtera avant la phase d'assemblage. Cette sortie de compilation partielle, généralement nommée file_name.s, contient le code assembleur qui correspond à la source C/C d'origine.
Utilisation d'objdump :
Si seulement l'objet est disponible, l'utilitaire objdump peut être utilisé pour extraire le code assembleur. En ajoutant l'option --disassemble (-d), objdump générera un désassemblage du fichier objet. Si la compilation a été effectuée avec les informations de débogage (en utilisant -g), les lignes sources seront entrelacées avec le désassemblage pour une meilleure lisibilité.
Exemple :
gcc -S source_file.c objdump -S --disassemble object_file.o > assembly_output.txt
L'option -S avec gcc générera un fichier assembly nommé source_file.s. La commande objdump créera un fichier texte nommé assembly_output.txt contenant le désassemblage du fichier objet, avec les lignes source incluses si disponibles.
Les options objdump supplémentaires pour personnaliser la sortie incluent :
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!