问题标签 [32-bit]
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.
c - 如何在 32 位计算机上用 VS 2005 交叉编译 64 位 DLL?
使用 Visual Studio 2005,我用 C 语言编写了一个简单的 DLL,它使用 Windows API 发送 UDP 数据报,并与第三方程序挂钩。在 64 位机器上,它根本不起作用,因为在这种情况下第三方代码是为 64 位编译的。所以我需要发布同一个 DLL 的两个版本——一个用于 32 位,一个用于 64 位。
但是,我没有设法让 Visual Studio(在 32 位机器上运行)吐出与 32 位版本不同的 DLL - 似乎项目属性中的“机器”设置被忽略了。一位同事告诉我,VS 2008 在这种情况下根本拒绝交叉编译。这真的完全不可能吗?
java - 是否必须了解机器架构才能编写代码?
假设我正在为一个简单的问题使用 Java、Python 或 C++ 编程,可能是构建 TCP/UDP 回显服务器或阶乘计算。我是否需要关心架构细节,即它是 32 位还是 64 位?
恕我直言,除非我正在编写与相当低级的东西有关的东西,否则我不必担心它是 32 位还是 64 位。我哪里错了?还是我说的对???
c - 这个位排序代码中的位操作是如何工作的?
Jon Bentley 在他的书 Programming Pearls 的第 1 列中介绍了一种使用位向量对非零正整数序列进行排序的技术。
我从这里获取了程序 bitsort.c并将其粘贴在下面:
我了解 clr、set 和 test 的功能并在下面解释它们:(如果我在这里错了,请纠正我)。
- clr 清除第 i 位
- set 设置第 i 位
- 测试返回第 i 位的值
现在,我不明白这些功能是如何做的。我无法弄清楚这三个函数中发生的所有位操作。
memory - 32 位 Intel 处理器上的内存对齐
Intel 的 32 位处理器(例如 Pentium)具有 64 位宽的数据总线,因此每次访问获取 8 个字节。基于此,我假设这些处理器在地址总线上发出的物理地址始终是 8 的倍数。
首先,这个结论正确吗?
其次,如果它是正确的,那么应该在 8 字节边界上对齐数据结构成员。但是我看到人们在这些处理器上使用 4 字节对齐。
他们怎么能有理由这样做呢?
java - 32 位进程在 64 位系统上运行时是否需要更多内存?
我有一个相当消耗内存的 java 应用程序。在我的带有 Windows XP Professional 的 32 位系统上,如果我提供它,该应用程序将运行良好-Xmx1280m
。下面的一切都会以java.lang.OutOfMemoryError: Java heap space
异常告终。
如果我在 64 位 Windows XP Professional 上运行相同的应用程序(其他一切都完全相同),它需要-Xms1400m
防止 OutOfMemory 条件。
据我了解,如果我有一个 C 程序并将其编译为 32 位和 64 位,则 64 位版本将需要更多内存,因为指针更宽等等。然而,在我的 java 示例中,虚拟机(Sun)是相同的,字节码是相同的。
为什么在 64 位机器上需要更多内存?
c# - .net 控制台应用程序 32 与 64 位
.NET 中的应用程序是否需要以 64 位构建才能充分利用具有 64 位操作系统的机器,或者它是否会像 32 位构建一样利用它。基本上,我们遇到了内存不足异常的问题,建议在 64 位机器上运行控制台应用程序,这“可能”解决了这个问题。问题是我们是否可以直接启动一个 64 位框并将当前应用程序放在上面,或者我是否需要以 64 位方式重建应用程序。
python - 使用 win32inet.WinHttpGetProxyForUrl 的正确方法是什么
我正在尝试使用已由 Win32com 的开发人员公开的 Microsoft WinHttp 库的功能。不幸的是,大多数库似乎都没有记录,也没有通过 win32com 库使用 win32inet 功能的正确方法的示例。
这是我到目前为止所拥有的:
如您所见,我所要做的就是使用 win32inet 功能找出哪个代理适合用于给定 URL,例如 foo.com。
你能帮我纠正最后一行的语法吗?MSN为被包装的函数提供了一些很好的文档,但 args 似乎并没有完美地映射到 python 库的那些。
此脚本的固定版本应:
能够查找用于任何给定 URL 的代理。
它应该总是做 Internet Explorer 会做的事情(即使用相同的代理)
它应该在任何有效的 Windows XP 设置上都有效。这意味着它应该与明确配置的代理一起使用,并且根本没有代理。
它只需要在带有 Python 2.4.4 的 Windows XP 32bit 上工作。它可以使用任何官方发布的win32com版本。
我在 Windows XP 上使用 Python2.4.4 和 Win32Com。
更新0:
或者......你能给我一个 cTypes 的替代实现吗?只要我能成功,我就很高兴!
assembly - 64位汇编的32位指令
我开始将一个用 C 语言编写的程序移植到 64 位机器上,并用汇编语言编写了几段代码,其中包含用于 32 位机器(如ljmp)的指令。
是否有地方/文档有汇编指令,用于 32 位机器和对应的 64 位机器?如果没有,我在哪里可以找到列出 32 位和 64 位机器的所有指令的文档?
很明显,我是这种情况的新手。让我们澄清一些观点。
我在早期移植操作系统。它是在考虑 x86 机器的情况下编写的。现在,我希望它在 x86_64 上运行。
它是在考虑了 UNIX 的 Linux 机器中编写的。我几乎可以肯定原作者是在英特尔机器上编写的。我也在英特尔,但我也想在 AMD 上运行操作系统。
使用的编译器是 gcc。
.net - 32 位或 64 位系统中的 .NET 有什么区别?
想象一个不使用 COM 组件或 PInvoke 的纯 .NET 应用程序。目标系统是 32 位还是 64 位是否重要?