问题标签 [win64]

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 投票
8 回答
41221 浏览

c++ - 你如何为 x64 编译 OpenSSL?

按照 INSTALL.W64 中的说明操作后,我遇到了两个问题:

  • 代码仍然写入“out32”文件夹。我需要能够在我的工作站上链接到 32 位和 64 位版本的库,所以我不希望 64 位版本破坏 32 位库。
  • 输出仍然是 32 位的!这意味着在尝试从 x64 应用程序链接到库时出现“未解析的外部符号”错误。
0 投票
6 回答
74217 浏览

.net - 如何解决“%1 不是有效的 Win32 应用程序”?

环境:
Windows Server 2003 R2 Enterprise 64bit, SP2
.NET framework 应该安装(2.0 SP2, 3.0 SP2, 3.5 SP1)

我说“应该”是因为它们被列为已安装在添加/删除程序下。我不确定它是否正确安装,因为“ASP.NET”选项卡没有添加到 IIS 中的任何站点。

在 IIS Web 服务扩展部分,我同时拥有“ASP.NET v2.0.50727”(允许)和“ASP.NET v2.0.50727(32 位)”(禁止)。

有问题的站点启用了脚本执行。

问题:

我创建了一个超级简单的 ASP.NET/C# 网站:Default.aspx,标签为 id="Label1",代码隐藏为:Label1.text = "Hello World";,我得到的错误是:

%1 不是有效的 Win32 应用程序。

0 投票
1 回答
1372 浏览

windows - 为什么 Windows 64 选择要求保存/恢复 xmm6 和 xmm7?

为什么 Windows 64 选择要求保存/恢复 xmm6 和 xmm7?

在 Windows 32 中,您可以编写破坏 xmm0...xmm7 的汇编程序。但是如果你使用相同的汇编代码并在 Windows 64 中运行它,它通常会导致应用程序错误,因为 VS2007 将双精度值存储在 xmm6 和 xmm7 中。

在我看来,既然 X64 有 16 个 xmm 寄存器 xmm0...xmm15(而 X32 只有 8 个 xmm 寄存器),那么微软本可以选择允许用户破坏 xmm0..xmm7(这样他们就可以重用 Win32 中的汇编程序)无需考虑)但要求用户保存/恢复 xmm8...xmm15。

那么,为了满足我自己的好奇,为什么 Windows 64 选择要求保存/恢复 xmm6 和 xmm7?

0 投票
2 回答
29008 浏览

debugging - WinDbg,来自本机 32 位应用程序的 minidump 在 64 位 Windows 上崩溃,不会加载系统 DLL 的符号

我从我们的一个应用程序的崩溃中获得了一个小型转储文件。这是一个 32 位本机应用程序,它在 64 位 Windows 上运行。

如果我将 minidump 文件加载到 WinDbg 中,WinDbg 将不会加载系统 DLL 的符号。我的符号路径配置正确:

...因为 WinDbg 正确加载了在 32 位 Windows 上创建的小型转储的符号。它只是不会为 SysWOW64 目录中的 DLL 加载符号。

我在 32 位 Windows 2003 上尝试了 32 位 WinDbg(来自调试工具 6.9),在 64 位 Windows 2008 上尝试了 64 位 WinDbg(也来自调试工具 6.9)。两者都无法加载符号。这是来自 32 位 WinDbg:

有任何想法吗?这些符号在 Microsoft 的符号服务器上不可用吗?

0 投票
3 回答
3108 浏览

c++ - 写入大文件

我尝试写入一个大文件,但它似乎不适用于大于 2GB 的文件。我尝试过使用 boost::iostreams::file_sink。这只是提升流的限制吗?还有其他方法可以在 Win64 和 win32 上编写大文件吗?

0 投票
1 回答
7491 浏览

c - 虚拟分配粒度和页面大小

Win64平台上虚拟分配粒度和页面大小的典型值是多少?那就是 SYSTEM_INFO 的 dwAllocationGranularity 和 dwPageSize。

在 Win32 系统上,这些将是 64k 和 4k。

我需要知道,因为我已经为 Win32 应用程序设计了一个基于 VirtualAlloc 的自定义分配器,并且想知道我的设计选择在 Win64 上是否仍然有效。我无法访问 Win64 系统。

提前致谢!

0 投票
3 回答
1160 浏览

c# - VirtualStore 无法在 Vista x64 上运行

我有一个小托盘应用程序,它想要写入 Program Files 目录下自己的文件夹。我知道这不是终极设计,我会修复它,但首先我想了解它是如何工作的。

在 32 位 Vista 机器上运行它会将文件写入 VirtualStore,它的工作方式与它应有的一样。

但是当在 Vista 64 位机器上安装它时,我立即遇到 UnauthorizedAccessException 尝试写入 Program Files(和 Program Files (x86))中的目录。

VirtualStore 重定向似乎不适用于 Vista 64 位。有任何想法吗?

这是一个用 Visual Studio 2008 编写的 C# 应用程序,我使用 FileStream obj 将流保存到磁盘。

0 投票
4 回答
2869 浏览

winapi - 在 Windows XP 64bit 下运行 Win32 IIS 应用程序

如何在 Windows XP 64 位的 IIS 中运行 Windows 32 位应用程序?

注意:这不在 Visual Studio 中运行。注意:仅记录 404 错误。注意:IIS 禁用 CGI 脚本导致的 404 错误

0 投票
2 回答
10119 浏览

64-bit - 如何为 64 位 Windows 编译现有的 posix 代码?

我可以使用 Cygwin 或 MinGW,但我需要以 64 位代码结束,而不是 32 位代码。这是因为我将从 64 位托管 C# 调用 DLL。对于设置这些工具来创建 64 位二进制文​​件,我似乎找不到很好的参考资料。此外,如果 GCC 是版本 4,而不是我的 Cygwin 安装附带的版本 3,那就太好了。

另一种选择是某种形式的进程间通信。我会对此进行研究,但我上面列出的是我真正想要的。

0 投票
3 回答
2736 浏览

javascript - 在 64 位环境中加载 32 位进程

我有几个问题如下。CHM 是(已编译的 HTML 文件)

我的 CHM 文件有一个用于启动 32 位应用程序的链接。CHM 文件是用 Javascript 编码的。这在 32 位操作系统环境中运行良好。

但这在 64 位操作系统环境中不起作用。原因是:当我打开 chm 文件时,64 位版本的 hh.exe(操作系统可执行文件)执行并启动 chm。并且 chm 在 64 位环境中加载。
现在我无法从 CHM 文件启动 32 位应用程序,因为 64 位进程无法加载 32 位进程。

有什么办法可以让它也适用于 64 位操作系统吗?

我想到了以下几个解决方案,但我不知道如何实现它们。

1)在Javascript代码中,如果我可以检查操作系统是32位还是64位。然后我可以向用户弹出一个明确定义的错误,如果它是64位操作系统。

2)或者如果我可以强制操作系统运行 32 位版本的 hh.exe,以便 chm 在 32 位环境中加载,因此不会出现问题。