目前很多电脑在买来的时候都默认装了64位的操作系统,这说明64位的计算机平台已经越来越走向普及化。因此,对于我们来讲,了解64位程序的配置或编写方法也是非常重要的。在这篇文章中,我对Visual Studio 2010中进行64位平台编程的配置方法做了一个简单的探索与总结。
创建解决方案和工程文件
要进行编程,我们首先要做的第一步是创建一个解决方案和一个工程文件,这里假设我们已经创建好一个名为 MultiplatformProgram 的C++工程文件。注意到工程创建完成后,Visual Studio 2010会自动创建一个同名的解决方案,并且工程的默认配置为32位平台。
编写源代码
假设我们为工程编写的源代码如下所示,其中用到了OpenCV的第三方库文件:
// main.cpp
#include <iostream>
#include <opencv/cv.h>
#pragma comment( lib, "opencv_core245.lib" )
#pragma comment( lib, "opencv_imgproc245.lib" )
int main()
{
cv::Mat image( 100, 100, CV_8UC3 );
std::cout << "This is a multi-platform program demo." << std::endl;
std::cin.get();
return 0;
}
创建64位工程平台
配置第三方库的库文件和头文件路径
如果程序使用了第三方库,则还需要对第三方库进行配置。一般来讲第三方库如果支持多平台,会提供32位与64位的库文件(静态库或动态库),而头文件一般情况下是共用的。下面以OpenCV这个库为例子,添加一下其64位版本的库文件路径,具体配置的位置为工程的属性 - VC++目录下。这里需要注意的是64位平台的属性配置和32位平台的属性配置是独立的,修改64位平台的配置时不会对32位平台的配置产生影响;而所有在32位平台下做的配置,可能需要在64位平台下重新配置一遍。
添加环境变量
在使用了第三方库时,为了能够正常的运行编译好的64位程序,还需要将对应的动态链接库添加到环境变量中。这样程序在运行的时候,才能够找到这些库文件,加载相应的函数或类。
程序的编译、链接与运行
下面这样一个64位的程序就可以正常的编译、链接以及运行了。64位程序从编写的角度来说基本与32位程序相同,不过需要注意的是,一些基本数据类型所占用的字节数会更大一些,并且能够使用的内存也会更多一些,速度也会有各种程度的提升,这无疑能够为我们做的某些应用带来便利。
作者:raodotcong