2016-07-15 13 views
1

Ich benutze Fasm, um eine DLL zu kompilieren, die Makros verwendet, die mit fasm ausgeliefert werden, ich möchte sehen, was die Ausgabe nach der Präprozessorstufe aber vor der Binärstufe ist. Gibt es eine Möglichkeit, dies zu sehen? Ich möchte schnell sehen, was generiert wird, um zu sehen, ob es sich lohnt, die Abhängigkeit vom Makro loszuwerden.Ist es möglich, die FASM-Präprozessorausgabe anzuzeigen?

Antwort

1

Fresh IDE verfügt über eine Funktion „entrollen Makro“ - kompilieren Sie die Quelle, positionieren Sie den Cursor auf die Zeile mit dem Makroaufruf ein und drücken Sie Strg + U oder wählen Sie aus dem Dropdown-Menü „entrollen Makro“. Der vorverarbeitete Code wird im Notizblockfenster angezeigt.

Wenn Sie den gesamten vorverarbeiteten Code auf einmal möchten - verwenden Sie die Konvertierungswerkzeuge im FASM-Paket, im Verzeichnis tools/ - müssen Sie tools/%YOUR_OS%/prepsrc.asm kompilieren.

Aber Sie sollten immer daran denken, dass die Rückseite der so mächtigen Makro-Engine ist, dass die komplexen Makros ziemlich schwer zu debuggen sind.

+0

Danke genau was ich brauchte! (Ich entwickle kein Makro, aber im Gegenteil versuche ich zu verstehen, was man tut, damit ich es loswerfe und zu roher Asm zurückkomme, also klingt das perfekt) –

+0

Meine eigene Regel über die Makros ist, dass sie mit Vorsicht verwendet werden sollten und nur dort, wo die Lesbarkeit der Quelle verbessert wird. Außerdem ist es für mich wichtig, die "assembly like" Ansicht der Quelle beizubehalten, weil ich es besser finde als "HLL style". – johnfound