问题标签 [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.
c++ - 你如何为 x64 编译 OpenSSL?
按照 INSTALL.W64 中的说明操作后,我遇到了两个问题:
- 代码仍然写入“out32”文件夹。我需要能够在我的工作站上链接到 32 位和 64 位版本的库,所以我不希望 64 位版本破坏 32 位库。
- 输出仍然是 32 位的!这意味着在尝试从 x64 应用程序链接到库时出现“未解析的外部符号”错误。
.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 应用程序。
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?
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 的符号服务器上不可用吗?
c++ - 写入大文件
我尝试写入一个大文件,但它似乎不适用于大于 2GB 的文件。我尝试过使用 boost::iostreams::file_sink。这只是提升流的限制吗?还有其他方法可以在 Win64 和 win32 上编写大文件吗?
c - 虚拟分配粒度和页面大小
Win64平台上虚拟分配粒度和页面大小的典型值是多少?那就是 SYSTEM_INFO 的 dwAllocationGranularity 和 dwPageSize。
在 Win32 系统上,这些将是 64k 和 4k。
我需要知道,因为我已经为 Win32 应用程序设计了一个基于 VirtualAlloc 的自定义分配器,并且想知道我的设计选择在 Win64 上是否仍然有效。我无法访问 Win64 系统。
提前致谢!
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 将流保存到磁盘。
winapi - 在 Windows XP 64bit 下运行 Win32 IIS 应用程序
如何在 Windows XP 64 位的 IIS 中运行 Windows 32 位应用程序?
注意:这不在 Visual Studio 中运行。注意:仅记录 404 错误。注意:IIS 禁用 CGI 脚本导致的 404 错误
64-bit - 如何为 64 位 Windows 编译现有的 posix 代码?
我可以使用 Cygwin 或 MinGW,但我需要以 64 位代码结束,而不是 32 位代码。这是因为我将从 64 位托管 C# 调用 DLL。对于设置这些工具来创建 64 位二进制文件,我似乎找不到很好的参考资料。此外,如果 GCC 是版本 4,而不是我的 Cygwin 安装附带的版本 3,那就太好了。
另一种选择是某种形式的进程间通信。我会对此进行研究,但我上面列出的是我真正想要的。
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 位环境中加载,因此不会出现问题。