【问题标题】:Is it possible to view FASM preprocessor output?是否可以查看 FASM 预处理器输出?
【发布时间】:2016-07-15 23:21:59
【问题描述】:

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

【问题讨论】:

    标签: fasm


    【解决方案1】:

    Fresh IDE 具有“展开宏”功能 - 编译源代码,将插入符号放在宏调用所在的行上,然后按 Ctrl+U 或从下拉菜单中选择“展开宏” ”。预处理后的代码将显示在便签本窗口中。

    如果您想要一次处理整个预处理代码 - 使用位于目录 tools/ 的 FASM 包中的转换工具 - 您需要编译 tools/%YOUR_OS%/prepsrc.asm

    但是你应该永远记住,拥有如此强大的宏引擎的反面是复杂的宏很难调试。

    【讨论】:

    • 感谢我所需要的! (我不是在开发宏,而是试图理解一个宏是做什么的,所以我可以摆脱它并回到原始 asm,所以这听起来很完美)
    • 我自己关于宏的规则是,它们应该谨慎使用,并且只在提高源代码可读性的地方使用。此外,对我来说,保持源代码的“类似程序集”视图很重要,因为我发现它比“HLL 样式”更好。
    【解决方案2】:

    您可以通过 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 将包含预处理的源代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-09-23
      • 1970-01-01
      • 1970-01-01
      • 2020-03-16
      • 2012-02-17
      • 2014-02-21
      • 2011-04-14
      相关资源
      最近更新 更多