【问题标题】:How do I compile more than one .asm file with fasm into one output?如何将多个带有 fasm 的 .asm 文件编译成一个输出?
【发布时间】:2018-05-01 07:12:11
【问题描述】:

我想在 fasm 中编译多个汇编文件。 我在一个文件中有一些说明,在另一个文件中有其他说明。如何将这些文件链接到二进制输出?

在这种情况下我可以使用 extern 吗?或者这是一个非法的命令?

【问题讨论】:

  • 是的,使用extern 和链接器。
  • 你在为什么操作系统编程?

标签: assembly x86 fasm


【解决方案1】:

我想在fasm中编译多个汇编文件。

所以你有多个 .ASM 源文件。

  • 选择您的源文件之一作为主要源文件。
  • 在其中插入一个 include 预处理器指令,用于您想要在单个二进制输出文件中添加的每个源文件。
  • 组装。无需链接器,FASM 即可完成所有工作。

带有 3 个源文件的示例

; Main source is 'source1.asm'
include 'source2.asm'
include 'source3.asm'
...

【讨论】:

    【解决方案2】:

    我通常会创建一个包含文件(很像我的应用程序的标题)并简单地包含该文件,该文件列出了所有要“包含”的文件。

    include 'includes.inc'
    

    然后,includes.inc 本身将列出“项目风格”结构的所有相关内容。

    这是what Fifoernik states 的替代方法(正确)。

    我也喜欢将数据段外部化(尤其是在为 Windows 开发时)到 vars.inc(读写权限,不执行)和 const.inc (只读,没有写或执行权限)。在旁注中需要考虑的其他内容。

    【讨论】:

      猜你喜欢
      • 2022-09-27
      • 1970-01-01
      • 2019-07-03
      • 1970-01-01
      • 2013-11-10
      • 1970-01-01
      • 2013-07-08
      • 2015-05-26
      • 1970-01-01
      相关资源
      最近更新 更多