微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MASM/LINK 或 LIB 内存错误

如何解决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 举报,一经查实,本站将立刻删除。