我正在创建一个Windows窗体应用程序,刚出现了一个问题,我的应用程序可以在32位和64位计算机上运行。
我搜索了我的问题并找到了一个解决方案,将平台目标从“任何cpu”更改为x86,然后进行编译。然后它将适用于两个系统。
现在我的问题是,我是否需要做任何其他事情才能实现这一点,否则上述解决方案将会很好。
我正在创建我的应用程序,所以我现在无法测试它。
答案 0 :(得分:3)
是的,还有三件事需要做,实际的事情:
您需要通过让代码以64位模式运行来检查您是否真的领先。通常,64位代码比32位代码运行慢一点,由于指针大小加倍,它使用CPU缓存的效率要低得多。它有8个额外的cpu寄存器来补偿。如果在内部循环中操作很多long或double类型的值,那么你只会获得一个性能优势。 可以从使用更多内存中获得性能提升,但如果您的程序必须以32位模式运行,则很难实现。
您需要在32位和64位操作系统上测试您的代码。很难避免依赖于本机代码,很多内容都隐藏在您可能无法识别为本机代码的包装器中。例如,数据库提供程序。这样的代码有两种不同的风格,可能表现不一样。
如果您实际上有这样的依赖关系,那么您可能需要编写两个安装程序,在目标计算机上部署正确的本机DLL。一个64位和一个32位安装程序。无论你是否应该在子弹#2冲洗。
显然,你想首先关注子弹#1,它可能会帮你跳过2号和3号。
答案 1 :(得分:2)
解决方案资源管理器 - >双击属性(应打开一个新选项卡) - >构建选项卡
将 配置 设置为 'Any CPU'
可确保您的应用程序可在32位和64位计算机上运行。
答案 2 :(得分:1)