MASM/LINK 或 LIB 内存错误

问题描述

我有一个应用程序,最初是在 Linux 操作系统下使用 NASM 开发的。我将它(仍然使用 NASM)移植到 Windows 操作系统。因为系统很难调试,所以我通过将代码转换为 MASM 语法并使用 VisualStudio 进行调试来实现 9/10。到目前为止一切顺利。

我遇到了一个问题,即内存地址似乎重叠并且无法解释原因。我有以下编码:-

COMMON.obj
.DATA?  
savedRegisters  dq 384 dup(?)

Common.obj 保存在静态链接库 NAME.LIB 中

V2.10.obj  + NAME.LIB to create executable
.DATA?
 ALIGN 8
 RandomNos  dq 1000000

调试时的地址

RandomNos       0x000000013FE106A0
savedRegisters  0x000000013FE106C0

RandomNos 只是来自savedRegisters 的32 个字节,因此savedRegisters 是 填充 RandomNos 时被覆盖

任何人都可以提出一个原因并因此提出解决方案吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)