您的位置:首页 > 其它

在Windows命令行中使用vs2005提供的编译、链接等工具对源程序进行处理

2012-01-06 11:59 459 查看
 
O、准备工作

      在Windows平台使用命令行,与其他操作系统如UNIX/LINUX等,主要区别在于命令名称,选项、参数书写习惯,文件路径查找方式

等,而它们工作的基本思路确没什么太大的不同。

 

      设置环境变量

      对于程序员来讲,主要是设置INCLUDE、LIB和PATH这三个环境变量。有一个比较不费力气的方法,就是直接在命令行中执行visual

studio所提供的设置环境变量的脚本,对于C/C++程序设计,设置环境变量的脚本是vcvars.bat。但这种做法有不足之处,每次启动命令

行都需要重新执行这个脚本。

      还有一种做法,就是完全手工地设置它们。这样可以让操作者切实地体会一下开发基于命令行的应用程序,将不仅是编程加上点击一下

鼠标那么简单。

 

     

一、编译、链接

      做为最简单的例子,假设只有一个源文件Main.cpp,它不执行任何动作:

 

view plaincopy to clipboardprint?

/* 
 * Main.cpp 
 * 此代码是为了熟悉在windows平台以命令行方式处理源代码程序的操作 
 * 而写,不具有任何实用价值。这段代码,有点头重脚轻的感觉。 
 */  
#include <windows.h>   
  
int WINAPI WinMain(  
        HINSTANCE hInstance,  
        HINSTANCE hPrevInstance,  
        LPSTR     szCmdLine,  
        int       nCmdShow )  
{  
        return 0;  
}  

view plaincopy to clipboardprint?

MessageBox( NULL, L"Hello windows", L"Hello", MB_OK );  

MessageBox( NULL, L"Hello windows", L"Hello", MB_OK );


那么,编译将无法顺利进行,它会提示缺少某些库。这是因为MessageBox不是C或C++标准库里的函数,它是微软提供的。因此要使用

它,必需在链接时明确指定用了哪个库。

      在这种情况下,只进行编译的命令不需要变。进行链接时,则需要指定用到的库的名字,命令为:link Main.obj user32.lib,

它将产生可执行程序Main.exe。也可以直接用cl命令一次性地编译出可执行程序Main.exe:cl Main.cpp user32.lib。

      如果在一开始连环境变量也没有设定,那么,编译和链接的命令还需要做进一步的改动,那就是在命令中指定使用到的头文件、库文件所

在的路径。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息