64位应用程序的开发

在高端领域,Sun、IBM、Intel和HP等公司一直热衷于64位平台。现在,全球有80%以上的企业,其关键业务都运行在64位大型主机上,大多数企业级的应用程序都是基于64位平台进行开发的。

2003年,AMD的Athlon 64把更多人的目光吸引到“64”这个字眼上来,那么,你知道64位计算对软件公司的影响多大吗?软件开发人员是否需要了解64位系统平台上的软件开发呢?我们已在去年第39期的《64位会带来软件变革?》一文中提出了这些问题,2004年,这个答案会揭晓吗?

去年,AMD公司的Athlon 64位CPU一发布,基于64位计算机的应用软件的开发问题也被许多公司提到了议事日程。如何在最短时间开发出支持64位系统的应用软件,从而占据未来市场是目前很多软件公司和软件开发者关注的问题。其实64位的服务器芯片已经出现多年了,但是由于需要专门的操作系统,缺乏相应的应用软件,以及高昂的芯片价格等原因,一直未能走入寻常百姓家。

对64位运算的认识

64位计算机带给我们最重大的意义就是它将具有更快的处理速度。因为计算机的运行速度取决于它对二进制代码“0”和“1”的处理速度。每次输入CPU的数据越多,计算机运行速度就越高,性能就越好。从32位到64位迁移之后,CPU第次传送的数据增加了一倍,速度自然比32位CPU快得多了。

在服务器应用领域更是如此。处理器字长从32位提升到64位,使地址范围大量扩充,内存容量、数据传输速度、处理速度和精度等性能指标也将随之提升。

64位意味着什么

然而,并不是速度快就一定有优势,对于用户来说,要迁移到64位需要有足够多的应用软件支持才能说是完美的。也就是说,64位运算意味着我们目前的32位软件都应该重写或者重新编译才行。

目前支持64位平台的软件也在大量出现。微软已经在开发Windows XP 64bit Edition,并进入了Beta测试阶段,相信过不了多久就可以与大家见面了。该操作系统提供了一个32位的仿真环境,让你既可以运行64位程序,也能运行32位的程序。数据库方面,Microsoft SQL Server 的64位版本也早就发布了,IBM、Oracle等大的软件厂商自然也在准备着新的64位数据库。

64位对软件开发的影响

在64位机器上运行32位程序需要操作系统提供一个仿真的环境。所以对于软件开发者来说,需要重新编写或者重新编译源代码方可真正支持64位的系统,而这需要有64位编译器的支持才行。目前在64位编译器方面,除Intel和AMD这些CPU厂商外,还有HP、IBM和Sun、微软等公司以及一些独立编译器开发厂商都在努力地进行研究。

从32位到64位计算的迁移对于汇编语言、操作系统SDK的影响可能会很大;对C/C++开发者来说,只要他们使用的C/C++编译器做得好,现有的代码就基本上不用修改;而Java/.NET开发商根本就不用关心32/64位的问题,因为这对他们的开发没有任何的影响。

以前的64位处理器上运行的操作系统主要以UNIX、Linux为主,这些操作系统是面向服务器的,对于个人而言它们并不适用,因为可以在这种机器上运行的程序相当少。现在微软正在开发的Windows XP 64bit Edition,目标就是为了锁定未来的64位操作系统市场。

64位开发环境萌芽

64位软件开发首先集中在编译器、操作系统和数据库系统上。只要有了编译器、操作系统和数据库的支持,中小软件企业的开发就不成问题了。那么,目前的状况如何,怎么进行64位软件的开发呢?

编译器是进行其他领域开发的基础。以前基于UNIX、Linux的64位编译器已经很多了,不过它们都是基于私有操作系统的,不具有普遍适用性。目前ST Micro在波特兰的编译器团队声称,他们已经为AMD的64位Opteron平台提供了Beta版Workstation 5.0 Fortran以及C编译器。

如果没有64位操作系统,64位计算就不可能在台式机市场上起步。除UNIX操作系统外,Linux也已在64位芯片上使用多年。如今,AMD同Linux厂商合作密切,最新版的Linux 2.4.9已经可以支持Opteron处理器。如此,Linux的开发工具自然也会很快支持64位应用程序的开发了。Windows自然是不必说了,Windows XP的64位版本很快就可以与大家见面了,它除了支持64位、32位应用程序之外,还对数据库引擎等做了优化。有专业人士预计,64位Windows用户将占到需要强大计算能力用户的10%以上,如果经济持续好转,无论是否需要,更多的用户都

会使用64位计算技术。

数据库的开发相比操作系统要简单。对于IBM这种已经在UNIX上拥有64位软件开发经验的厂商来说,移植到基于x86体系的Opteron平台就显得轻而易举。IBM已将DB2数据库软件做了优化,使这套软件可在Opteron处理器的支持下执行64位计算。而微软也早已推出了64位的SQL Server 数据库。

64位开发工具有哪些

有了开发的基础环境的支持,一般应用软件的开发就简单多了。对于中小软件开发商来说,他们关注更多的就是应用软件的开发问题。那么,基于C++、VB、Java、C#、Delphi等语言工具的应用软件该怎么做呢?

在开发工具方面,基于Java、.NET的工具可以很顺利地支持64位平台,而对于底层的开发,相应的开发工具还很不足。对于C、C++语言来说,由于它是与操作系统紧密相关的,与它相关的数据类型,操作系统的SDK等变化都会很大,所以从32位到64位的迁移就会显得困难一些。至于汇编语言,它的变化就会更大了,不过幸运的是很少有人用它来做应用软件开发。

开发工具的开发商微软、SUN、Borland等当然也会抓住这个机会,以便在64位软件开发市场中占有一席之地。现在,SUN与AMD达成合作关系,提供支持64位AMD Opteron处理器的纯Java技术。同时,微软的Visual Studio 2003 .NET 开发工具由于与系统无关,所以基于.NET的程序可以在64位的Windows操作系统上运行。Borland的JBuilder,CBuilderX系列工具由于是用Java写的,对64位的支持自然不在话下了。

现在,Sun的ONE Studio开发工具已经可以运行在Red Hat Linux和Solaris系统上了。并计划于今年夏天发布J2SE (Java 2 Platform Standard Edition)V1.5使得应用程序能够更好地支持AMD Opteron处理器。但一些主流的开发工具──Visual C++、C++Builder,以及Delphi、PowerBuilder等还没有提供64位的编译器,不过我们相信只要Windows 64位操作系统推出之后,相应的开发工具也会很快浮出水面。

前景与挑战

64位软件在游戏、人工智能等类型上很可能会成为桌面64位软件的杀手级应用。而这些应用将为中小软件企业带来丰厚利润。很多大型的基于32位的应用系统如果不能支持新的64位平台,必然会走向衰败或死亡。

微软发布基于64位处理器的Windows操作系统之后,诸如杀毒软件等相对底层的应用软件也会面临一些挑战。这些改变虽然不至于重演DOS时代过渡到Windows时代的程序员大死亡,但也必将产生一些新的软件机会。

总之,由于64位应用软件匮乏,在短时间内开发出支持64位机型的软件自然能获得更好的市场效益。早起的鸟儿有虫吃,谁能在通向64位的道路上先行一步,谁就能抢占先机,赢得竞争力;而另一方面,由于不能迅速将自己的系统移植到64位平台,也必将有一部分软件走向死亡。 

你可能感兴趣的:(sql,windows,数据库,server,开发工具,编译器,Borland)