问题标签 [64-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.
windows - 我可以在 Windows 机器中使用的最大 RAM 量是多少?
显然,这是 64 位窗口。
另外,单个 64 位进程可以使用的最大内存量是多少?我有点指望使用它...(是的,我知道我在做什么,请不要告诉我,如果我需要那么多 RAM,我一定做错了什么)
另外,对于 .Net 2.0 进程,这是否相同?或者.Net有下限吗?
c++ - 64位内存分配
我被要求在 C++ 中创建一个与 Delphi 兼容的 dll 来进行简单的 64 位内存管理。
背景是 Delphi 中的系统需要分配大量的内存块,这些内存块可以很好地超出 32 位可寻址空间。Delphi 开发人员向我解释说,他无法使用可用的 Delphi 命令分配内存。他说他可以持有一个64位的地址,所以他只想调用我提供的一个函数来分配内存并返回一个64位的指针给他。然后另一个函数稍后释放内存。
现在,我只有 VS 2008 可供我使用,所以首先我什至不确定我是否可以首先创建一个与 Delphi 兼容的 dll。
任何德尔福专家都愿意帮助我。也许有一种方法可以在不重新发明轮子的情况下实现他的要求。其他开发人员以前在 Delphi 中一定遇到过这种情况。
所有评论表示赞赏。
c - 如何在 Linux 内核中划分两个 64 位数字?
一些代码将除法四舍五入来演示(C 语法):
现在,如果这是用户空间,我们可能甚至不会注意到我们的编译器正在为这些运算符生成代码(例如divdi3()
除法)。我们可能在libgcc
不知情的情况下与之联系。问题是内核空间不同(例如 no libgcc
)。该怎么办?
在 Google 上爬了一会儿,注意到几乎每个人都提到了未签名的变体:
我知道如何解决这个问题: Override udivdi3()
and umoddi3()
with do_div()
from asm/div64.h。做对了吗?错误的。有符号与无符号不同,sdivdi3()
不只是调用udivdi3()
,它们是独立的函数是有原因的。
你解决了这个问题吗?你知道可以帮助我做到这一点的图书馆吗?我真的被困住了,所以无论你在这里看到什么,我现在还没有看到,都会很有帮助。
谢谢,乍得
c++ - 32 位和 64 位代码的 DWORD 有多大?
在 Visual C++ 中,DWORD 只是一个无符号长整数,它依赖于机器、平台和 SDK。但是,由于 DWORD 是双字(即 2 * 16),在 64 位架构上 DWORD 仍然是 32 位吗?
c - 为什么 32 位内核可以运行 64 位二进制文件?
在我的 OS X 机器上,内核是 32 位二进制文件,但它可以运行 64 位二进制文件。这是如何运作的?
64-bit - 我可以在 32 位机器上运行 64 位 VMware 映像吗?
我可以在 32 位机器上运行 64 位 VMware 映像吗?
我已经用谷歌搜索了这个,但似乎没有一个决定性的答案。
我知道它必须完全模拟并且会像狗一样运行 - 但性能缓慢不一定是问题,因为我只是对在 64 位平台上测试我的一些后台服务代码感兴趣。
.net - 来自 .Net 的 Oracle,带有 64 位客户端
有没有人在 64 位机器上使用 .Net 中的 Oracle 并使用 Oracle 的 UDT 功能?
我已经能够使用 x64 ODP.Net 客户端,但找不到任何支持 UDT 的客户端。
谢谢
缺口
[编辑] 我在下面发布了一个答案。最新版本(截至 2008 年 12 月)是 11.1.0.7。这支持 64 位和 UDT。
visual-studio-2008 - 如何让我的 VS2008 x86 安装程序在 x64 上安装 x64 程序集?
我正在使用 VS2008 安装程序(加上自定义 Orca 操作)为我的 .NET 产品创建安装程序。
我最近才发现我使用的第三方程序集之一是特定于 x86 的(因为它包含一些本机代码);因此,x64 客户在启动时遇到了关于程序集不适合他们的平台的错误。
我向这样的客户发送了一份该第三方程序集的 x64 版本的副本,并告诉他只需将其复制到现有的 x86 版本上即可。成功了,甜!所以现在我只需要让安装程序为我做这件事。
这实际上看起来很重要:(。理想情况下,我只希望安装程序(它将是 x86,因为它可以在两个平台上运行)包含此第三方程序集的 x86 和 x64 版本,并安装适当的一个。在换句话说,我想要一个让我的用户生活更轻松的安装程序。
我以为我已经解决了这个问题,使用 MSI 条件语句等等。但显然不是……除非您指定“x86”或“x64”,否则 VS2008 安装项目将无法编译。如果您指定 x86,它会给出一个编译错误,指出它不能包含 x64 程序集。如果指定 x64,则结果无法在 x86 计算机上执行。该死!
以前一定有人遇到过这个问题。不幸的是,谷歌没有帮助,所以我求助于 StackOverflow!
64-bit - AxAcroPDF - Vista64 类未注册错误
我们有一个用 C# 编写的 WinForms 应用程序,它使用 AxAcroPDFLib.AxAcroPDF 组件来加载和打印 PDF 文件。在 Windows XP 中一直工作没有任何问题。我已将我的开发环境移至 Vista 64 位,现在应用程序将无法运行(在 Vista 64 上),除非我删除 AxAcroPDF 组件。应用程序运行时出现以下错误:
“System.Runtime.InteropServices.COMException:未注册类(来自 HRESULT 的异常:0x80040154 (REGDB_E_CLASSNOTREG))。”
我在 Adobe 论坛上被告知错误的原因是他们没有 64 位版本的 AxAcroPDF ActiveX 控件。
有没有办法解决这个问题?例如,我可以自己将 32 位 ActiveX 控件转换为 64 位控件吗?
c++ - C ++中的64位枚举?
有没有办法在 C++ 中使用 64 位枚举?在重构一些代码时,我遇到了一堆#defines,它们作为枚举会更好,但大于 32 位会导致编译器出错。
出于某种原因,我认为以下方法可能有效: