正 文

64位应用程序开发环境和工具简介


www.7dspace.com  更新日期:2006-2-14 18:26:48  七度空间



  在命令提示符窗口中构建

  点击"开始à所有程序àMicrosoft Platform SDKàOpen Build EnvironmentàWindows XP 64-bit Build EnvironmentàSet Windows XP x64 Build Environment (Retail)",此时可打开一个命令提示符窗口,已设置为Windows XP x64应用程序生成环境,在此窗口下生成的程序可运行在Windows XP x64 Edition上。如果要调用编译器,键入cl.exe,要调用链接器,键入link.exe。键入cl/?、link/? 查看详细信息。
假设前段示例代码的文件名为:first64.cpp,存放在D盘根目录下。

  在命令提示符窗口中键入:cl d:\first64.cpp bufferoverflowU.lib /EHsc,回车。

  此处解释一下为什么这样调用编译命令,默认情况下,cl在编译完成之后会自动调用link,命令行中带上/EHsc是为了打开"C++例外(Exceptions)",以免出现编译器警告;微软的编译器从Visual Studio.NET 2002开始,默认设置了一个编译选项/GS,其作用是堆栈检查,以防止堆栈或缓冲区溢出此类问题的发生,即是阻止代码溢出攻击,所以必须链接 bufferoverflowU.lib库。其详细情况如下:

  ·bufferoverflowU.lib:此函数库具体实现安全性 cookie 验证功能,此功能可以在用户模式中使用,也可以在使用 Win32 API 的应用程序中使用。大多数应用程序将链接到这个函数库。

  ·bufferoverflowK.lib:此函数库具体实现在操作系统内核模式中执行的安全性 cookie 检查。在内核模式中运行的服务与子系统应该链接到这个库。

  ·bufferoverflow.lib:此函数库具体实现可以在用户模式中使用的安全性 cookie 验证功能。不过它与 bufferoverflowU.lib 有所不同,它可以在不使用 Win32 API 的服务与应用程序中使用。

  在集成开发环境中(IDE)构建

  首先,点击"开始à所有程序àMicrosoft Platform SDKàOpen Build EnvironmentàWindows XP 64-bit Build EnvironmentàSet Windows XP x64 Build Environment (Retail)",它会自动设置好path、include、lib环境变量。

  修改开始菜单中Visual C++ 2005 Express Edition的快捷方式,加上启动参数/useenv,如下"C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\VCExpress.exe" /useenv。

  此时启动Visual C++ 2005 Express Edition的集成开发环境(IDE),加载前面所创建的工程,选择"Build"à"Configuration Manager",在Active solution configrration栏中选择New…

  在此时弹出的对话框name中输入x64 Retail,在copy setting from中选择Release,此处的两项可根据你所想要生成的工程性质,自由选择;之所以这样做的目的,是为了方便在名称上区分32位与64位工程,同时也不会影响到原有工程的设置。

  在编译生成工程之前,还需做如下设置:

  1、 点击菜单"Project"à"Properties",打开"Configuration Properties" à"C++" à"General",确定"Detect 64-bit Portability Issues:"为"Yes(/Wp64)",以保证编译器检查工程的64位可移植性问题。

  2、 打开"Configuration Properties" à"Linker" à"Input",在第一行"Additional Dependencies:"中加入bufferoverflowU.lib库。

  3、 打开"Configuration Properties" à"Linker" à"Advanced",把"Target Machine"改为"Not Set";接下来点击左边的"Command Line",在"Additional options:"栏中加入"/MACHINE:AMD64"。

  点击"确定"退出,接下来就可以生成工程了;如果生成过程中,提示找不到cl.exe、头文件、库等等之类的信息,可在菜单"Tools"à"Options…"à"Projects and Solutions"à"VC++ Directories"中检查有关目录是否设置正确,构建工程所需的全部相关文件都位于"C:\Program Files\Microsoft Platform SDK"下。这属于集成开发环境(IDE)的使用设置问题,不少文章都有介绍,此处不再赘述。

  现在,你也可以编写64位应用程序了,是不是很简单呢;Visual C++ 2005与Platform SDK已经为64位编程做好了准备,你呢?
3页,页码:[1] [2] [3] 

上一篇:Win 2000远程控制的3种安全解决方法
下一篇:认识Windows快捷方式和桌面
标题:64位应用程序开发环境和工具简介 作者:谢启东编译 来源:天极网
收藏此页】【打印】【关闭
站 内 搜 索
 

热 点 导 读
特 别 推 荐