问题标签 [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 投票
2 回答
1817 浏览

c++ - 如何使用 ifdef 检测是否支持 Windows DWORD_PTR 类型?

Windows API 中有一些新的整数类型支持 Win64。它们并不总是得到支持;例如,它们不存在于 MSVC6 中

如何编写#if条件来检测这些类型是否受支持<windows.h>

(我的代码需要在许多不同版本的 Microsoft Visual C++ 下编译,包括 MSVC6。所以我需要提供我自己对这些类型的定义,#if并在较新的编译器中禁用它们)。

(对于搜索者,类型的完整列表是:DWORD_PTR、INT_PTR、LONG_PTR、UINT_PTR、ULONG_PTR)

0 投票
4 回答
15176 浏览

delphi - 为什么在 64 位 Windows 中运行时有 2 GB 内存限制?

我是开发 Delphi 应用程序的团队的成员。内存需求很大。500 MB 是正常的,但在某些情况下会出现内存不足异常。在这种情况下分配的内存通常在 1000 - 1700 MB 之间。

我们当然想要 64 位编译器,但现在不会发生(如果发生,我们还必须转换为 unicode,但那是另一回事了……)。

我的问题是为什么在 64 位环境中运行时每个进程有 2 GB 的内存限制。指针是 32 位的,所以我认为 4 GB 是正确的限制。我使用德尔福 2007。

编辑: 因此,如果我在 Delphi 中使用以下方法设置 IMAGE_FILE_LARGE_ADDRESS_AWARE 标志:

在 Windows Server 2003 x64 上运行生成的 Exe 文件,那么应用程序可以寻址 4 GB 吗?

  • 我应该在 boot.ini 中设置 /3GB 开关吗?
  • 我们已经尝试过,但在 32 位 Windows Server 2003 上,它似乎限制了 Windows 资源。日志中出现了更多带有 GDIError 的“内存不足”异常。但是在 64 位操作系统中运行时,这可能会消失吗?
0 投票
1 回答
222 浏览

windows - 窗口属性 - 它们是如何实现的?

我很好奇这里是否有人知道有关 Windows 中窗口属性( 、 等)的实现细节的内部SetProp信息GetProp

SetProp @ MSDN
GetProp @ MSDN

例如,存储和查找是如何完成的?

0 投票
1 回答
343 浏览

c# - Win7 64/32位 c# dll疑问

是否可以在 win7 64 位计算机中构建 ac# dll 和 tlb 文件并使其在 win7 32 位计算机中工作?

提前致谢 :)

编辑:我正在使用一个 c++ dll,它调用在我的 c# COM interop dll proj 中生成的 .tlb 文件。

0 投票
1 回答
121 浏览

windows - windows 64位问题

我已经使用 C# VS 2008 和 Sql 2005 express 开发了一个 Windows 应用程序,我在我的机器上测试了该应用程序,它工作正常,我的机器是 win32 位,当我在 Windows 64 位上尝试该应用程序时,它一直给我一条错误消息应用程序的启动,虽然我在那台机器上安装了 sql express,但我也应该安装 .NETframwork3.5sp1 64 位吗?, 目标机器是 widows 7 64 位, 还有一种技术或方法可以使应用程序按以下顺序工作: 1- CD 自动运行 2- 安装程序检查已安装的 prerequist 并安装任何必要的没有用户的干扰。最后一个问题,我应该在 64 位机器上重建应用程序以使其在 64 位机器上工作吗?谢谢

0 投票
6 回答
525 浏览

c++ - C/C++、Windows 控制台应用程序的速度是否取决于目标是 32 位还是 64 位?

假设内存不是问题,以 64 位操作系统为目标是否会使 C/C++ Windows 控制台应用程序运行得更快?

更新:在一些评论/答案的提示下,应用程序涉及统计算法(例如,线性代数、随机数抽取等)。

0 投票
1 回答
2338 浏览

delphi - 在 64 位 Windows 平台上运行 32 位 Delphi 应用程序的问题

我有一个用 Delphi 编写的 Windows 32 位应用程序,在 Windows Server 2008 64 位下运行时出现问题。

细节很粗略(“有各种打印问题”是迄今为止我能得到的最好的报告),并且该应用程序在我可以访问的所有 Win64 平台上都表现良好,但除此之外,我还以为应用程序已编译对于 Win32 目标应该在 Win64 上开箱即用地运行。

或者我在这里错过了什么?

0 投票
3 回答
16086 浏览

windows - 如何检索 system32 或 SysWOW64 的正确路径?

我有一个可以在 32 位或 64 位 Windows 中运行的 32 位进程。因此,很自然,如果进程试图访问文件c:\windows\system32\file.ext,它将被重定向到c:\windows\SysWOW64\file.ext. 到目前为止一切顺利 - 我不想禁用重定向。

我的问题是我的进程实际上并没有访问该文件-相反,它只是获取其路径并将其写入文本文件,并且我希望该文本文件SysWOW64在 64 位系统和system3232 位系统上读取. 我怎样才能做到这一点?

0 投票
1 回答
1840 浏览

c++ - 在 VS2008 上构建 64 位 Windows 会导致 C2632 错误

所以我试图在 64 中构建一个 32 位应用程序。我正在链接到所有 64 位库,并且我已经重新编译了我们用于 64 位的所有内容。

我现在遇到奇怪的错误。我在网上看到了一些类似的错误,但在这些主题中没有任何用处。

知道导致这种行为的可能是什么问题吗?

警告 C4091: 'typedef' : 当没有声明变量时,'float' 左侧被忽略 C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\windef.h 错误 C2632: 'float' 后跟 'double'是非法的
C:\Program Files\MicrosoftSDKs\Windows\v6.0A\include\windef.h

警告 C4091: 'typedef' : 在没有声明变量时忽略'double' 左侧 C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\wtypes.h 错误 44 错误 C2632: 'double' 后跟 ' double' 是非法的
C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\wtypes.h

警告和错误是针对同一行的。显然它不是 wtypes.h 和 windef.h 的问题(如果是我对此无能为力)

显然,这些本身就很好,所以它必须是别的东西。我的项目中导致此问题的文件仅包括

有任何想法吗?

0 投票
5 回答
15106 浏览

c++ - 在 Windows 64 中编译 32 位应用程序时未解析的外部符号

所以我正在尝试将旧版应用程序从 32 位编译到 64 位。我重新编译了它使用的所有库,并使其看起来像 WIN SDK6.0A x64 位的库。

我在用:

  • Visual Studio 专业版 2008
  • 视觉 C++
  • dotNet 框架 3.5 SP1
  • 视窗服务器 2008R2
  • Windows SDK 为 6.0A

一切终于出现了,但我收到了这些奇怪的未定义符号错误:

问题是这些都是来自 SDK 的胜利内容。InterlockedDec 和 InterlockedInc 来自 kernel32.lib GetModuleBaseName、EnumProcessModules、EnumProcesses、GetProcessMemoryInfo 在 psapi.h 以及 kernel32.lib 或 psapi.lib

我检查了 C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib\x64 并且 libs kernel32.lib 和 psapi.lib 都在那里。

它肯定会在正确的位置查找库。我打开 /VERBOSE:LIB 并指向正确的文件夹。

所以我真的很困惑为什么没有找到它们。

有任何想法吗???

谢谢