在64位操作系统上运行32位软件时运行时错误52 [关闭]


-3

我有32位设计的键盘/打字软件,并希望在64位Windows 7上运行它。每当我尝试运行该软件时,我正在获得运行时错误52 - 错误的文件名或编号

是否有允许我按原样运行32位软件的下载或进程?


2
什么是软件,你的操作系统版本是什么?
Elie 2016年


如果没有告诉我们您遇到问题的软件以及实际问题是什么,这不是一个可以解决的问题。32位软件在Windows上运行得很好64位,所以无论你的软件实际上是16位(这在64位不支持),或有别的东西,就是问题所在。
Mokubai

@Mokubai也许是真的它会工作与否但在我的条件下它不工作并给出错误运行时错误'52'错误的文件名或数字如果它有工作然后你已发布。
atek 2016年

因此,我早先评论的第一行和持有原因。在任何人可以帮助您之前,您需要提供更多详细信息。
Mokubai

Answers:


2

借助任何软件,您无法将32位软件转换为64位。但是你也不需要转换它,因为64位架构支持所有32位软件。

考虑32位和64位数据模型之间的差异32位和64位编译环境之间的最大区别是数据类型模型的变化。32位应用程序的C数据类型模型是ILP32模型,因为int和long类型以及指针是32位数据类型而命名。64位应用程序的数据类型模型是LP64数据模型,因为long和指针类型增长到64位而得名。其余的C整数类型和浮点类型在两种数据类型模型中都是相同的。

将32位应用程序转换为64位应用程序:问题

将32位应用程序转换为64位应用程序时出现问题的主要原因是int类型的大小相对于long和指针类型的变化。将32位程序转换为64位程序时,只有长类型和指针类型的大小从32位变为64位; int类型的整数大小保持在32位。在将指针或长类型分配给int类型时,这会导致数据截断的麻烦。此外,使用短于int的大小的类型将表达式分配给unsigned long或指针时,可能会出现符号扩展问题。

在这里进一步阅读是源。来源:http//www.oracle.com/technetwork/server-storage/solaris/ilp32tolp64issues-137107.html
本文将介绍如何使用以下代码进行转换
https//www.quora.com /如何-DO-I-转换-A-32位的软件-到-一个64位

根据我的理解,您必须通过更改变量类型来根据上述过程修改源代码。另外,我用谷歌搜索了你可能与转换无关的错误。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.