是否可以查看FASM预处理器输出?

时间:2016-07-15 23:21:59

标签: fasm

我正在使用fasm编译一个使用fasm附带的宏的dll,我想看看在预处理器阶段之后但在二进制阶段之前输出是什么。有没有办法看到这个?我想快速查看生成的内容,看看它是否值得摆脱对宏的依赖。

2 个答案:

答案 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将包含预处理的源。