我注意到在VS 2010中,C#项目的默认平台目标是x86(以前是任何CPU),想知道这个改变的原因是什么。
编译器是否会根据将平台修复为x86与x64 vs Any CPU执行任何优化?
出于性能考虑,我是否应该强制我的应用程序使用其中一个平台?
我注意到在VS 2010中,C#项目的默认平台目标是x86(以前是任何CPU),想知道这个改变的原因是什么。
编译器是否会根据将平台修复为x86与x64 vs Any CPU执行任何优化?
出于性能考虑,我是否应该强制我的应用程序使用其中一个平台?
之前的 Visual Studio 版本默认是 "Any CPU",这意味着在 x86 机器上你总是会使用 x86,而在 x64 机器上,你将最终使用 x64 或 x86,这取决于加载程序集的进程是否为 32 位或 64 位。
问题在于,使用“任何 CPU”选项构建的 .Net exe 启动新进程时,将以 64 位进程而非 32 位进程的方式启动,这可能会导致两个问题:
由于很少有应用程序实际使用足够的地址空间(即内存)使麻烦变得值得,因此默认设置为 x86,以避免这些问题。