2017-09-15 3 views
0

J'utilise gcc -save-temps pour générer l'assemblage et j'ai ajouté -fverbose-asm mais cette option ne génère PAS ce que je veux; c'est des commentaires de débogage bizarres.gcc - compiler, générer l'assembly avec la source inline sans appeler objdump

Pour obtenir l'assembly + source en ligne, je fais gcc -g suivi de objdump -S.

Depuis -save-temps génère l'ensemble de toute façon, est-il un moyen de configurer pour sortir la source en ligne que produit objdump -S?

+1

Essayez 'gcc -S' comme indiqué dans la page de manuel. Notez qu'il n'y a pas d'option pour obtenir une sortie similaire à 'objdump -S', vous pouvez peut-être demander cette fonctionnalité. – fuz

+0

Etes-vous en train d'essayer de sauvegarder une étape et de la simplifier ici, ou espérez-vous pouvoir obtenir la sortie 'gcc -fverbose-asm -S' mélangée à la source? Notez que vous pouvez obtenir un effet très similaire à partir de la coloration des couleurs source + asm de l'explorateur Godbolt. Par exemple, https://godbolt.org/g/SQDMJq. Https://stackoverflow.com/questions/38552116/how-to-remove-noise-from-gcc-clang-assembly-output –

+0

J'ai utilisé '-S -fverbose-asm' mais ce n'était pas la même chose que' objump-S'. Je suppose que ça va devoir être deux étapes. – Adrian

Répondre

2

Le compilateur GNU C (gcc) produit une sortie d'ensemble si vous spécifiez l'option -S lors de la compilation. Notez que cette sortie n'est pas comme la sortie de objdump -S dans le code source n'est pas intercalé avec l'assembly. Pour obtenir une telle sortie, il n'y a actuellement aucun moyen de créer un fichier objet, puis de le désassembler. Envisagez de déposer un rapport de bogue si vous souhaitez avoir une telle fonctionnalité.