问题标签 [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 投票
2 回答
19409 浏览

windows - 用于存储对象指针的 GWL_USERDATA 的替代方法是什么?

在我从事的 Windows 应用程序中,我们有一个直接位于 Win32 之上的自定义框架(不要问)。当我们创建一个窗口时,我们通常的做法是通过 将this窗口的用户数据区放入SetWindowLong(hwnd, GWL_USERDATA, this),这使我们可以有一个类似 MFC 的回调或紧密集成的WndProc,取决于。问题是这在 64 位 Windows 上不起作用,因为 LONG 只有 32 位宽。在 32 位和 64 位系统上都可以解决这个问题的更好的解决方案是什么?

0 投票
9 回答
2201 浏览

language-agnostic - 如何编写同时兼容 32 位和 64 位的代码?

如果我希望我的代码在 32 位和 64 位平台上都正确运行,我需要考虑什么?

编辑:我需要注意哪些方面,例如打印字符串/字符或使用结构?

0 投票
21 回答
518905 浏览

linux - 如何确定给定的 Linux 是 32 位还是 64 位?

当我输入uname -a时,它会给出以下输出。

我怎么知道给定的操作系统是 32 位还是 64 位?

这在编写脚本时很有用configure,例如:我要为什么架构构建?

0 投票
4 回答
7515 浏览

windows-vista - 为什么 Windows Vista 64 位默认使用 32 位 cmd.exe?(特定于机器)

情况:

我需要将我们当前的开发环境从 Windows XP 32 位转换为 Windows Vista 64 位 (*)。自然地,我在我们的构建系统中遇到了很多硬编码路径存在问题的地方(例如“ C:\Program Files”变成“ C:\Program Files (x86)”)。幸运的是,有一个%ProgramFiles%环境变量可以根据源进程(32 位或 64 位)映射到正确的目录。所以我用 更新了构建脚本%ProgramFiles%,我确信这会结束。

从命令行 ( C:\Windows\System32\cmd.exe) 调用构建环境。

问题: 在一台特定的机器上(即我工作的开发机器),它C:\Windows\System32\cmd.exe实际上是一个 32 位进程,所以脚本找到了目录的x86版本,Program Files一切都很好。

在我能找到的所有其他 64 位机器(包括我的家用机器)上,C:\Windows\System32\cmd.exe都是 64 位版本,而 32 位版本在C:\Windows\SysWow64\cmd.exe. 所以构建脚本找不到他们正在寻找的任何东西并且失败了。

我现在明白了,cmd.exe如果你需要的话,应该明确调用 32bit ,默认情况下你会得到一个 64bit cmd.exe。典型案例WORKSFORME...

问题是,这不正确的机器发生了什么?为什么我cmd.exe在一台机器上默认获得 32 位,而在其他机器上却没有?在所有情况下,我都是C:\Windows\System32\cmd.exeStart|Run菜单中显式执行,但仅在一台机器上得到不同的结果。都运行相同版本的 Vista 64 位。

有什么想法或见解吗?

(*) 请接受我必须这样做。我无权说出我为什么要这样做。从头开始重新安装操作系统和一切可能会起作用,但这肯定是矫枉过正。此外,说服我们的 IT 部门提供 Vista 机器已经够难的了!

0 投票
6 回答
4992 浏览

php - PHP 中的 32 到 64 位“陷阱”

上周末,我为我的网站更改了虚拟主机。我使用的主机服务器是 32 位操作系统,而我移动到的主机服务器是 64 位。出乎意料的是,我的一些 PHP 脚本开始给出不正确的结果。

在我的例子中,<< 和 >>(位移)操作是罪魁祸首。我最终不得不用 0xFFFFFFFF 掩盖结果,然后如果结果为负,则更改结果以使其像以前一样工作。

我应该在我的 PHP 脚本中寻找任何其他可能的问题吗?

0 投票
8 回答
43022 浏览

c - 在 C 中将 32 位应用程序转换为 64 位应用程序

我目前正在用 C 语言将 32 位应用程序转换为 64 位应用程序。该应用程序目前正在使用 x86 架构(Windows、osx、Unix、Linux)。因此,在开始编码之前,我想知道在转换应用程序时需要考虑什么。

0 投票
6 回答
28745 浏览

c# - 在 64 位机器上以 32 位运行 C# 应用程序

如何强制我的应用程序在 64 位机器上以 32 位运行?

代码是用 C# 编写的。

0 投票
5 回答
283328 浏览

windows - 如何测试 Windows DLL 文件以确定它是 32 位还是 64 位?

我想编写一个测试脚本或程序,断言给定目录中的所有 DLL 文件都是特定的构建类型。

我会在 SDK 的构建过程结束时使用它作为健全性检查,以确保 64 位版本没有以某种方式在其中包含一些 32 位 DLL 文件,反之亦然。

有没有一种简单的方法可以查看 DLL 文件并确定其类型?

该解决方案应该适用于 xp32 和 xp64。

0 投票
5 回答
25949 浏览

asp.net - 在 64 位操作系统上以 32 位和 64 位运行 IIS 的优缺点是什么?

可能更适合“机架溢出”,但从开发人员的角度来看,在 64 位 Windows 主机上将 IIS(服务于传统的经典 ASP 和 .NET)作为 32 位进程而不是 64 位进程运行的优点和缺点是什么?

与 32/32 相比,32/64(iis/服务器)的主要优势似乎是每个 IIS 进程的内存容量高达 4gb。

我期望 32/64 优于 64/64 的优势似乎是更容易访问传统的 32 位进程内 DLL(我们仍然从合作伙伴供应商那里获得一个,我们无法立即放弃),也许给定更小的内存指针,相同代码的内存占用更小。

64/64 与 32/64 相比是否有任何性能优势或其他任何可以保证现在完全切换的东西?我在这里做了任何错误的假设吗?

0 投票
8 回答
12119 浏览

windows - 作为一名程序员,在迁移到 64 位 Windows 时我需要担心什么?

我最近的大部分编程都是在使用 C/C++/C#/VB6 的 32 位 Windows 上进行的。最近,我的客户询问我的代码是否可以在 64 位 Windows 上运行。

我想知道我可能使用的哪些遗留功能会在 64 位 Windows 上中断?我需要考虑和担心哪些现实问题?

显然,我将在 64 位操作系统上测试我的代码,但我想知道要查找哪些常见问题。我更关心现有的二进制文件,但我愿意就重新编译时(在可能的情况下)时要担心的问题发表评论。

编辑:这是一个很好的 64 位移植错误列表。