【发布时间】:2018-05-01 07:12:11
【问题描述】:
我想在 fasm 中编译多个汇编文件。 我在一个文件中有一些说明,在另一个文件中有其他说明。如何将这些文件链接到二进制输出?
在这种情况下我可以使用 extern 吗?或者这是一个非法的命令?
【问题讨论】:
-
是的,使用
extern和链接器。 -
你在为什么操作系统编程?
我想在 fasm 中编译多个汇编文件。 我在一个文件中有一些说明,在另一个文件中有其他说明。如何将这些文件链接到二进制输出?
在这种情况下我可以使用 extern 吗?或者这是一个非法的命令?
【问题讨论】:
extern 和链接器。
我想在fasm中编译多个汇编文件。
所以你有多个 .ASM 源文件。
include 预处理器指令,用于您想要在单个二进制输出文件中添加的每个源文件。带有 3 个源文件的示例
; Main source is 'source1.asm'
include 'source2.asm'
include 'source3.asm'
...
【讨论】:
我通常会创建一个包含文件(很像我的应用程序的标题)并简单地包含该文件,该文件列出了所有要“包含”的文件。
include 'includes.inc'
然后,includes.inc 本身将列出“项目风格”结构的所有相关内容。
这是what Fifoernik states 的替代方法(正确)。
我也喜欢将数据段外部化(尤其是在为 Windows 开发时)到 vars.inc(读写权限,不执行)和 const.inc (只读,没有写或执行权限)。在旁注中需要考虑的其他内容。
【讨论】: