Spo*_*ock 2 c# 32bit-64bit anycpu .net-4.5 visual-studio-2012
不确定之前有没有问过(我找不到).我有简单的控制台应用程序/ ESE,并具有以下设置.
我正在运行Windows 8,63bit操作系统.和EXE目标框架.NET 4.5但是,当我编译这个EXE时,它仍然显示为32位EXE.
由于这是"任何CPU",我希望EXE编译为64bit/PE32 +.
有人可以帮忙说明为什么这仍然是32位?
你CorFlags
觉得你误解了.这是一个CorFlags
真值表:
CPU Architecture PE 32BITREQ 32BITPREF
------------------------ ----- -------- ---------
x86 (32-bit) PE32 1 0
x64 (64-bit) PE32+ 0 0
Any CPU PE32 0 0
Any CPU 32-Bit Preferred PE32 0 1
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,它只会报告PE32+
您是将其编译为64位而不是Any CPU
.原因是标头必须向后兼容.意味着如果程序集要在32位和64位的"任何CPU"中工作,那么标头格式必须采用32位操作系统可识别的格式.PE32+
是一个64位唯一标头格式,如果该标头应用于编译为的程序集Any CPU
,则32位操作系统将无法识别PE32+
标头格式.
归档时间: |
|
查看次数: |
832 次 |
最近记录: |