用64位Windows进行开发的五点建议
2009-07-07 00:00:00 来源:WEB开发网现在到处都是64位电脑。由于我们要开发VB 应用程序,所以是时候思考对于64位的支持了。
64位运算曾是一个奇特的想法,但是现在已经成为一种现实。那些能够接受大量RAM并运行64位Windows的客户端和服务器无处不在。视频剪辑,图像,三维建模和数据密集型应用程序只是受益于64位操作系统和硬件的其中几个例子。
无论应用程序或组件是否需要64位架构提供额外可设定地址的内存,你都希望能够在64位Windows上使用应用程序。以下是我们给出的五点建议以帮助你用64位Windows开发程序。
1.避免不合格的图像例外
通常,程序员碰到这种情况:“出现未处理的类型异常 ‘System.BadImageFormatException’”。如果你要深究该异常的细节信息,可能会发现系统提示:“试图加载的程序,格式不正确”。
之所以会出现这样的问题是因为64位进程试图加载一个32位组件。虽然你在Windows x64上可以运行64位和32位进程,但是64位代码和32位代码不能在相同进程上运行。你的代码要么全部是64位,要么全部是32位。要加载的组件也要符合这一规律。
VS 2005与.NET 2.0为编译.NET应用程序带来选择,将输入设置为“Any CPU”也具备了可选性。“Any CPU”是默认平台。如果组件以Any CPU作为平台进行编译,那么它将依据进程加载的情况以32位或64位方式运行。使用Any CPU,相同的组件可以在64位Windows上以32位或64位方式运行:它不是真正的指定了64位的CPU或操作系统,而是一个调用进程。
为了解决不合格图像异常的问题,要改变到Any CPU的所有组件的目标平台。如果出于某种原因你无法做到这一点——或许某组件无法提供来源——那么要将所有组件设置成到达同一平台,可以是x86也可以是x64。如果你拥有.NET 1.0或1.1组件,最好是用.NET 2.0对其重新进行编译。如果你不能编译.NET 1.0或1.1组件,那么编译其他代码,设置为到达x86平台,使之兼容。
赞助商链接