我正在使用fasm编译一个使用fasm附带的宏的dll,我想看看在预处理器阶段之后但在二进制阶段之前输出是什么。有没有办法看到这个?我想快速查看生成的内容,看看它是否值得摆脱对宏的依赖。
答案 0 :(得分:1)
Fresh IDE有一个功能“Unroll macro” - 编译源代码,使用宏调用将插入符号放在行上,然后按 Ctrl + U 或从下拉菜单中选择“展开宏“。预处理的代码将显示在便笺簿窗口中。
如果您想同时使用整个预处理代码 - 使用位于FASM包中的转换工具,在tools/
目录中 - 您需要编译tools/%YOUR_OS%/prepsrc.asm
。
但是你应该永远记住,拥有如此强大的宏引擎的反面是复杂的宏很难调试。
答案 1 :(得分:1)
您可以通过 prepsrc 来获得它。您需要通过fasm编译 tools /%YOUR_OS%/ prepsrc.asm 。
fasm WIN32/PREPSRC.ASM
接下来,您需要获取fas文件。我通过 fasmw 来做到这一点:运行->构建符号(例如,我们称其为file.fas)。
下一步:
prepsrc file.fas our_preprocessed_code.asm
our_preprocessed_code.asm将包含预处理的源。