64-bit相关内容

C++ 中 64 位计算机的指针大小是多少?

我的电脑从 32 位变为 64 位,我的操作系统是 64 位 Windows 7.我认为 64 位操作系统中的指针应该是 64 位 -- 8 个字节.但是,当我在C++中使用sizeof(void*)获取一个点的大小时,结果是4. 为什么是 4?? 解决方案 您的可执行文件仍在编译为 32 位二进制文​​件.尝试将其编译为 64 位项目. 如果处理器在 32 位环境中模拟程序, ..
发布时间:2021-11-26 14:57:10 C/C++开发

32位和64位可以一起工作吗?

64 位库可以在 32 位应用程序中工作吗?例如,我的应用程序 GUI 使用 32 位 Qt.我的业务核心是一个 64 位库.操作系统是 64 位的.他们可以一起工作吗?如何一起工作?谢谢. 解决方案 简而言之:您无法将 32 位应用程序链接到 64 位库. 您可以在 64 位操作系统(至少是所有流行的 32/64 位处理器,如 AMD、Intel 和 Sparc)上使用 32 位共 ..
发布时间:2021-11-26 14:56:49 C/C++开发

提升互斥量 C++/CLI 问题

我正在 Visual Studio 2008 C# 中开发 64 位,我想使用一个使用 boost 的库.所以我用 C++/CLI 写了一个包装器.我设法针对我遇到的错误 #include . 如果我在 C++/CLI 包装器中包含任何本身包含 的文件,或者如果我直接将它包含在包装器中,我会得到一个“System.AccessViolation ..
发布时间:2021-11-26 14:56:38 其他开发

64 位 EXE 可以链接到 32 位 DLL 吗?

我之所以这么问是因为我注意到许多 64 位 EXE 链接到看似 32 位的 DLL. 例如,我的 64 位 MFC 应用程序链接到 user32.dll、urlmon.dll、wininet.dll - 所有这些都是驻留在 windows\system32 中的 32 位 DLL. 那么这是一些适用于这些 DLL 的特定于 MS 的魔法吗,或者对于需要使用传统 32 位 DLL 的 6 ..
发布时间:2021-11-26 14:56:25 其他开发

如何让我的 32 位 Delphi 应用程序在 64 位窗口上使用 4gb 内存(通过 Wow64.exe)?

根据此 MSDN 页面: WOW64 使 32 位应用程序能够充分利用 64 位内核.因此,32 位应用程序可以使用大量的内核句柄和窗户把手.但是,32 位应用程序可能无法创建WOW64 下的线程数和它们一样多在基于 x86 的本地运行时可以系统,因为 WOW64 分配了一个额外的 64 位堆栈(通常为 512KB) 用于每个线程.此外,一些保留的地址空间量对于 WOW64 本身和数据它使用 ..
发布时间:2021-11-26 14:56:18 其他开发

我是否需要有 64 位处理器才能使用 64 位数据类型

我有几个问题: 是否需要 64 位处理器才能使用 64 位数据类型(__int64 或 int64_t)? int64_t 的“t"是什么意思? 从哪个版本的 GCC 和 VCC 开始支持数据类型? 是 64 位数据类型只是将数据长度增加了一倍,还是还有其他一些事情在幕后? 解决方案 使用 64 位数据类型不需要 64 位处理器.这一切都取决于编译器,而且只取决于编 ..
发布时间:2021-11-26 14:55:52 C/C++开发

Visual C++ x64 加进位

由于似乎没有 ADC 的内在函数,而且我不能使用 Visual C++ 对 x64 体系结构使用内联汇编器,如果我想使用带进位的加法编写函数但将其包含在一个C++ 命名空间? (不能使用比较运算符进行模拟.这个 256 兆位的增加对性能至关重要.) 解决方案 有现在是 MSVC 中 ADC 的内在:_addcarry_u64.以下代码 #include #include #incl ..
发布时间:2021-11-26 14:55:44 C/C++开发

是否可以从 32 位应用程序访问 64 位 dll?

我有一个类似于 Taskbar Shuffle 的 Delphi 应用程序,其中包含一个钩子 dll. EDIT:此挂钩 DLL 通过发送 Windows 消息与主应用程序通信. 我想添加对 XP 和 Vista x64 的支持,我最初的想法是将 dll 转换为 64 位(使用 FreePascal 编译),但现在保持应用程序为 32 位(Delphi). 32 位应用程序是否可 ..
发布时间:2021-11-26 14:55:35 其他开发

Windows 64 位上的 SWT

我的应用程序抛出以下异常. 线程“main"中的异常java.lang.UnsatisfiedLinkError:不能在 64 位上加载 32 位 SW T 库JVM. 如何解决这个问题?需要的jar文件名是什么? 解决方案 在 64 位 JVM 上,您需要 64 位 SWT.当前版本可以在这里下载: http://archive.eclipse.org/eclipse/ ..
发布时间:2021-11-26 14:55:24 其他开发

获取 x86 的当前指令地址

我在 x86(准确地说是 64 位)上使用 Linux.有没有办法获得当前指令的地址.实际上,我想编写自己的 setjmp/longjmp 的简化版本.此处,R.. 发布了longjmp 的简化版本.知道如何实现 setjmp.一个简化的版本,即不考虑异常和信号等... 解决方案 我相信在 64 位代码中,您可以简单地执行 lea rax, [rip]. 32 位的习惯用法是: ..
发布时间:2021-11-26 14:55:13 服务器开发

Qmake 中 win64 配置的标识符

Qmake 项目文件中是否有“win64"标识符?Qt Qmake advanced 文档除了 unix/macx/win32 之外没有提及. 到目前为止我已经尝试使用: win32:message("使用win32")win64:message("使用win64")amd64:message("使用 amd64") 结果总是“使用 win32". 我是否必须为 x32 和 x64 ..
发布时间:2021-11-26 14:55:05 其他开发

使用 32 位算术将 64 位数字相加

我们如何使用 32 位算术将两个 64 位数字相加?? 解决方案 先添加最低有效字节,保留进位.考虑来自 LSB 的进位,添加最高有效字节: ;x86 汇编,英特尔语法;将 ecx:ebx 添加到 edx:eax添加 eax, ebxadc edx, ecx ..
发布时间:2021-11-26 14:54:57 其他开发

为什么复杂的 memcpy/memset 更胜一筹?

调试的时候,经常会踩到memcpy和memset的手写汇编实现.这些通常使用流指令(如果可用)、循环展开、对齐优化等来实现......我最近也遇到了这个 'bug' 是由于 glibc 中的 memcpy 优化. 问题是:为什么硬件厂商(Intel、AMD)不能针对具体情况进行优化 代表 和 rep movs 被认可,并在他们自己的架构上尽可能最快填充和复制? 解决方案 我想 ..
发布时间:2021-11-26 14:54:45 其他开发

通过 JSON 发送 64 位值的可接受方式是什么?

我的一些数据是 64 位整数.我想将这些发送到在页面上运行的 JavaScript 程序. 然而,据我所知,大多数 JavaScript 实现中的整数都是 32 位有符号量. 我的两个选择似乎是: 将值作为字符串发送 将值作为 64 位浮点数发送 选项 (1) 并不完美,但选项 (2) 似乎远没有那么完美(数据丢失). 你是如何处理这种情况的? 解决方案 这 ..
发布时间:2021-11-26 14:54:37 前端开发

32 位和 64 位 .NET (4) 应用程序之间的差异

32 位和 64 位 .NET (4) 应用程序之间有什么区别? 通常 32 位应用程序在 64 位机器上运行时会出现问题,反之亦然.我知道我可以将整数声明为 int32 和 int64(当然 32 位系统上的 int64 会产生问题).为 32 位或 64 位或同时兼容 32 位和 64 位的应用程序编程之间还有其他区别吗? 解决方案 一些差异: 32 位和 64 位应用程序 ..
发布时间:2021-11-26 14:54:29 C#/.NET

加载 x86 或 x64 程序集

我有两个版本的 System.Data.SQLite.DLL - 适用于 x86 和 x64 平台.x86 版本保存在 application 文件夹中,x64 版本保存在 appFolder\x64 文件夹中.应用程序编译为 AnyCPU.如何根据 windows 平台加载所需版本的 SQLite? 解决方案 如果您使用的是来自 http://system.data.sqlite 的 S ..
发布时间:2021-11-26 14:54:18 C#/.NET

C# COM DLL:我使用 Regasm 还是 Regsvr32?

我正在构建一个 C# ActiveX DLL...我是使用 REGASM 还是 REGSVR32 来注册它? 如何注册 64 位接口与 32 位接口? 解决方案 您需要使用 regasm.exe 注册 32 位和 64 位接口我相信你需要运行每个 regasm.exe 在: C:\Windows\Microsoft.NET\Framework\v2.0.50727 和 C:\W ..
发布时间:2021-11-26 14:54:08 其他开发