Sto leggendo il libro di Andrei Alexandrescu sul linguaggio di programmazione D. È uno scrittore eccellente e fa un ottimo lavoro nello spiegare aspetti del linguaggio D. Trovo tuttavia alcuni costrutti difficili da capire quando non riesco ad immaginare l'output ASM o le conseguenze di determinate parole chiave (come in, out, ecc. O altri costrutti). Anche se il mio ASM è piuttosto brutto e non lo uso mai, mi aiuta molto a capire come funzionano determinate parole chiave per il computer e il lavoro svolto.Digital Mars D compilatore; acquisizione dell'uscita ASM
Il compilatore DMD ha molte funzioni interessanti (copertura del codice, generazione di interfacce (file di intestazione), generazione di documentazione, profilazione, ...) ma non ho visto un interruttore per emettere il codice ASM. Il compilatore genera file .obj e dalla lettura del seguente link: http://www.digitalmars.com/ctg/obj2asm.html Sospetto di aver bisogno di uno strumento per convertire manualmente i file oggetto. Preferirei un interruttore del compilatore, ce n'è uno?
Nella parte inferiore di questa pagina, sono collegato a una pagina in cui posso pagare i prodotti citati contenenti tale strumento. Provenendo da uno sfondo GNU, mi sono molto accigliato. È solo per C/C++, o si applica anche al compilatore D?
C'è un altro modo per convertire questi file .obj in codice ASM leggibile oppure devo ricorrere ad altri compilatori D (come GDC o LDC) per acquisire l'output ASM? Preferisco non farlo. DMD è stato creato dallo stesso fondatore, sono sicuro che ha implementato la maggior parte delle funzionalità correttamente/ampiamente ottimizzato.
Quindi, come posso dare un'occhiata al codice ASM?
Grazie.
Inoltre, DMD è l'unico compilatore con pieno supporto per D 2.0 – You