问题标签 [32bit-64bit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
8718 浏览

objective-c - 在 Objective C (Mac OS X) 中检测 CPU 架构(32 位/64 位)运行时

我目前正在编写一个Cocoa应用程序,它需要执行一些针对 32 位和 64 位优化的(控制台)应用程序。因此,我想检测应用程序正在运行的 CPU 架构,以便我可以启动正确的控制台应用程序。

简而言之:我如何检测应用程序是否在 64 位操作系统上运行?

编辑:我知道Mach-O fat 二进制文件,这不是我的问题。我需要知道这一点,这样我才能启动另一个非捆绑(控制台)应用程序。一种针对x86进行了优化,另一种针对x64进行了优化。

0 投票
9 回答
21017 浏览

python - 将大型列表保存在内存中的替代方法(python)

如果我在python中有一个可能超出可用内存地址空间的列表(或数组,字典......),(32位python)有哪些选项和相对速度?(除了不列出那么大的列表)该列表可能会超出内存,但我无法事先知道。一旦它开始超过 75%,我不想再将列表保留在内存中(或者无论如何都是新项目),有没有办法在中途转换为基于文件的方法?

最好的(进出速度)文件存储选项是什么?

只需要存储一个简单的数字列表。无需随机访问第 N 个元素,只需追加/弹出类型的操作。

0 投票
7 回答
667 浏览

windows - 我应该提供我的应用程序的 x64 版本吗?

也许我在这里遗漏了 x64 平台的一个要点,但我的看法是,只有在大量内存、大指针或其他要求苛刻的情况下,x64 应用程序的性能才比 x86 版本(显然是在 x64 操作系统和硬件上)更好。涉及因素。

但是,我开始注意到一些较小的应用程序除了标准的 x86 版本之外还提供 x64 版本的安装程序。由于 x86 在使用 WoW 的 Windows x64 上运行得很好,我发布 x64 编译版本的应用程序有什么好处吗?照我看来:

优点:

  • 潜在的更高性能(但在什么条件下)

缺点:

  • 要创建/支持的其他构建
  • x86 目标中不存在的 x64 目标中的潜在错误
  • 依赖 x64 版本的供应商/操作系统 DLL,需要不同的安装清单并引入额外的故障排除复杂性

有哪些令人信服的理由让我重新考虑添加我的应用程序的 x64 编译版本?

0 投票
21 回答
516561 浏览

c# - Microsoft.Jet.OLEDB.4.0' 提供程序未在本地计算机上注册

我在 32 位 Windows 2008 服务器中创建了一个用 .NET 3.5 开发的 Windows 应用程序。在 64 位服务器中部署应用程序时,它显示错误“Microsoft.Jet.OLEDB.4.0' 提供程序未在本地计算机上注册”。

所以作为这个问题的解决方案,我已经将项目的构建属性更改为 X86,这样它将以 32 位模式构建,并在 32 位机器上重建项目。但是,同一个项目使用其他数据库驱动程序(DB2、SQL 等)连接到其他数据库。因此,当我在 64 位操作系统中再次部署我的应用程序时,它会引发异常“尝试在 32 位平台上加载 64 位程序集。”

我正在使用 Microsoft.Jet.OLEDB.4.0 驱动程序读取和写入 Excel (.xls)

0 投票
3 回答
616 浏览

c# - C#:如何检测其他进程的位数......不是当前进程

我如何知道某个处于运行状态的进程的位数。(不是当前的.. IntPtr.size 有用的地方) iswow64process()... 仅给出它是否是 WoW64 进程,但不输出 32/64 位.. 任何人都可以帮忙..

0 投票
7 回答
30893 浏览

.net - 如何从 32 位进程启动 64 位进程

我正在尝试从我们的 32 位 .NET 应用程序运行 64 位可执行文件 (java.exe)。我正在使用Process类和调用cmd /c <command name>以支持所有可能的命令(如dircd)。

问题是我在我的机器上安装了 64 位版本的 JRE,而 java.exe 只能从C:\Windows\System32文件夹 (x64) 中使用。我已经尝试通过调用显式启动 64 位版本,cmd.exe但由于调用进程是 32 位,C:\Windows\System32\cmd.exe它被重定向到。SysWOW64

我还能做些什么来让它工作吗?

编辑整个cmd /c事情有点像红鲱鱼。这不是问题的一部分,能够运行 64 位可执行文件是。

0 投票
2 回答
166 浏览

.net - 我如何获得注册密钥的真实路径?

如果您在 64 位机器上运行 32 位应用程序(我使用的是 Windows 7)并且您编写此代码

它实际上会从

并不是

以程序方式给定一个 RegistryKey 我如何计算出注册表中的真实路径?

0 投票
1 回答
1352 浏览

c# - SSIS 对象模型 - 64 位计算机上的 Excel 连接管理器错误

我有一个 SSIS 包,它读取 Excel 文件(数据流源)并使用 OLEDB 目标数据流项将数据传输到 SQL Server。该包由 .Net 应用程序使用 SSIS 对象模型执行。存储在应用程序子文件夹内的文件系统中的包。

该软件包在我的开发/测试机器上都可以正常工作。这两台机器都有 win2k3 32 位。SSIS 是在 BIDS 32 位环境中构建的。

当我在具有 win2k3 x64 标准版的生产机器上部署此应用程序时,我收到错误

发生 OLE DB 错误。错误代码:0x80040154。OLE DB 记录可用。来源:“Microsoft OLE DB 服务组件”Hresult:0x80040154 描述:“类未注册”。对连接管理器“Excel 连接管理器”的 AcquireConnection 方法调用失败,错误代码为 0xC0202009。组件“Excel Source”(630) 验证失败并返回错误代码 0xC020801C。

我在其他帖子中读到设置项目的 Run64BitRuntime 属性(在设计期间)解决了从 BIDS 运行它时的问题。

如何通过 SSIS 对象模型设置此属性。

这是执行包的部分代码

谢谢

马苏德

0 投票
12 回答
50864 浏览

c++ - 在 64 位机器上编译 32 位代码时,我应该如何处理“从 'void*' 转换为 'int' 失去精度”?

我有一个可以在 32 位机器上编译并正常工作的包。我现在正试图让它在 64 位机器上编译并发现以下错误 -

是否有编译器标志来抑制这些错误?还是我必须手动编辑这些文件以避免这些强制转换?

0 投票
3 回答
32997 浏览

.net - 构造 System.Data.SQLite.SQLiteConnection 时导致 System.BadImageFormatException 的原因

我已将代码分解为尽可能小的语句:

从 WinForm 应用程序调用代码时出现以下错误:

System.BadImageFormatException:无法加载文件或程序集“System.Data.SQLite,版本=1.0.65.0,文化=中性,PublicKeyToken=db937bc2d44ff139”或其依赖项之一。试图加载格式不正确的程序。文件名:'System.Data.SQLite,版本=1.0.65.0,文化=中性,PublicKeyToken=db937bc2d44ff139'

然而,从 MS Unit Test 调用同一段代码我没有收到错误,而且完整的代码集按预期工作。