问题标签 [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++ - 如何使用 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)
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 位操作系统中运行时,这可能会消失吗?
windows - 窗口属性 - 它们是如何实现的?
我很好奇这里是否有人知道有关 Windows 中窗口属性( 、 等)的实现细节的内部SetProp
信息GetProp
。
例如,存储和查找是如何完成的?
c# - Win7 64/32位 c# dll疑问
是否可以在 win7 64 位计算机中构建 ac# dll 和 tlb 文件并使其在 win7 32 位计算机中工作?
提前致谢 :)
编辑:我正在使用一个 c++ dll,它调用在我的 c# COM interop dll proj 中生成的 .tlb 文件。
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 位机器上工作吗?谢谢
c++ - C/C++、Windows 控制台应用程序的速度是否取决于目标是 32 位还是 64 位?
假设内存不是问题,以 64 位操作系统为目标是否会使 C/C++ Windows 控制台应用程序运行得更快?
更新:在一些评论/答案的提示下,应用程序涉及统计算法(例如,线性代数、随机数抽取等)。
delphi - 在 64 位 Windows 平台上运行 32 位 Delphi 应用程序的问题
我有一个用 Delphi 编写的 Windows 32 位应用程序,在 Windows Server 2008 64 位下运行时出现问题。
细节很粗略(“有各种打印问题”是迄今为止我能得到的最好的报告),并且该应用程序在我可以访问的所有 Win64 平台上都表现良好,但除此之外,我还以为应用程序已编译对于 Win32 目标应该在 Win64 上开箱即用地运行。
或者我在这里错过了什么?
windows - 如何检索 system32 或 SysWOW64 的正确路径?
我有一个可以在 32 位或 64 位 Windows 中运行的 32 位进程。因此,很自然,如果进程试图访问文件c:\windows\system32\file.ext
,它将被重定向到c:\windows\SysWOW64\file.ext
. 到目前为止一切顺利 - 我不想禁用重定向。
我的问题是我的进程实际上并没有访问该文件-相反,它只是获取其路径并将其写入文本文件,并且我希望该文本文件SysWOW64
在 64 位系统和system32
32 位系统上读取. 我怎样才能做到这一点?
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 的问题(如果是我对此无能为力)
显然,这些本身就很好,所以它必须是别的东西。我的项目中导致此问题的文件仅包括
有任何想法吗?
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 并指向正确的文件夹。
所以我真的很困惑为什么没有找到它们。
有任何想法吗???
谢谢