64 位平台中的内联汇编语言

在高级语言(如 C/C++)中使用汇编语言的能力在当今的应用性能中是十分重要的。当然,我们还可以使用内联函数(intrinsic)来替代特定的(但非所有)汇编指令。随着 64 位 Windows 操作系统(OS)的推出,越来越多的 32 位应用正在移植到 64 位。因此,当具有内联汇编语言的 32 位应用移植到 64 位环境后,它们究竟该何去何从?大多数情况下,这些应用可在 64 位操作系统上顺利运行。但是,如果您想在 64 位环境中对其进行修改或重新编译,那么您将在 Microsoft Visual Studio* 2005 上碰到问题,因为它不识别内联汇编语言。我们可以通过以下两种方法中的任意一种来解决这个问题。首先,你可以使用支持内联汇编语言的英特尔® 编译器 9.1 版或更高,对应用进行重新编译。其次,如果您想使用 Visual Studio 2005 来重新编译应用,您必须将所有具有内联汇编语言的功能转化为汇编例程,并将其存储到 asm 文件中。最后,您就可以照常对其进行重新编译了。一般来说,如果您已经具有 Visual Studio 2005,那么只需将现有的内联汇编语言功能转化为汇编例程。这可以确保其在英特尔® 编译器以及 Visual Studio 2005 上都能够正常工作。

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s