比较来自世界各地的卖家的域名和 IT 服务价格

Visual Studio 2017 在32位系统中编译 64 bit?

我有一个64位操作系统和基于的处理器 x64. 但是,当我编译项目时 visual studio 选择 "Any CPU", 它被编译为32位可执行文件吗?

那么这里会发生什么,为什么它没有被编译为64位?

我需要在64位模式下编译的原因是我希望与64位无法控制的互动 C++ dll.
已邀请:

江南孤鹜

赞同来自:

在项目组件配置页面上有 "Prefer 32-bit platform" checkbox, 你必须删除它。

冰洋

赞同来自:

对问题的答案是肯定的,
https://www.codeproject.com/Ar ... optio
, AnyCPU 将在之前编译 x86 默认甚至是 64 bit OSs. 实际上指向它 @Alexander Powolozki 在他的答案中说,例如,国旗 "Prefer 32 bit".

我引用了这个

如果在系统中执行该过程 64-bit Windows, 它作为32位过程进行。 IL 编译成机器代码 x86

此设置的原因可能是 , 此默认值可帮助您
https://blogs.msdn.microsoft.c ... orth/
, 因为

当应用程序可以在32位模式下或模式下正常工作时 64-bit, 32位模式趋于一点速度。 大指针意味着更多的内存消耗和缓存,以及可用的缓存字节数 CPU 同样适用于32位和 64-bit 流程。 当然,水平 WOW 增加了一些开销,但我看到的性能的数字表明在大多数真实场景中发布 WOW 比运行速度更快,因为它自己的进程 64-bit

甚至
https://www.infoq.com/news/2016/01/VS-64-bit
/以及转移所有图书馆的成本 64 bit/.

因此,如果您没有删除复选框 "喜欢32位标志", 如果您还拥有它,并且如您所知,您应该创建一个平台 x64 在你的 Visual Studio 并将其用于这个特定的项目。
通过单击到达此窗口 "Any CPU" ComboBox:

https://i.stack.imgur.com/9UDOU.jpg
并添加 64 位平台:

https://i.stack.imgur.com/Vw0yG.jpg
这些图像专为旧版本而设计。 Visual Studio, 但它在所有版本中以相同的方式工作。

https://msdn.microsoft.com/en- ... .aspx
书面描述。

要回复问题请先登录注册