2015-04-17 13 views
7

Mi chiedo se esiste un pacchetto per emacs che consenta di vedere rapidamente il codice assembly generato di una funzione? Questo dovrebbe funzionare anche con le ottimizzazioni del compilatore abilitate. Quello che mi piacerebbe essere in grado di con un comando di aprire un nuovo buffer che conterrebbe il codice assembly della funzione corrente.Visualizzazione del codice assembly delle funzioni in emacs

Xcode su OS X lo fa molto bene, ma mi piacerebbe tornare a Linux ed emacs sulla mia workstation dev e questa è una caratteristica che ho imparato ad apprezzare molto.

risposta

7

Prova disaster.el:

Disaster screenshot

Disaster consente preme C-c d per vedere il codice assembly compilato per il C/C++ il file che si sta modificando. Salta anche ae evidenzia la linea di assemblaggio corrispondente alla linea sotto il cursore.

Funziona creando un file .o utilizzando make (se si dispone di un Makefile) o il compilatore di sistema predefinito. Quindi esegue quel file attraverso objdump per generare l'assembly leggibile.

disaster.el è available in MELPA.

+0

Grazie, posso specificare il percorso/la directory in cui esiste Makefile? Lavoro in un albero che ha più obiettivi di compilazione ciascuno in una directory. – SFbay007

+1

@ SFbay007, io non la penso così. Sembra che ['disaster.el' segua un percorso di ricerca predefinito alla ricerca di' Makefile's e poi ritorni a 'cc' o' C++'] (https://github.com/jart/disaster#function-documentation) . – Chris