本文共 2125 字,大约阅读时间需要 7 分钟。
实验目的:在VC6.0中利用工作区(workspace或工作空间)组织工程(project)。实验内容:创建一个工作区,并在其中创建多个工程。
实验重难点:理解工作区的概念;分清工作区与工程的关系;明白何谓“活动工程”。
实验步骤:
/*************************************************************************
VC6.0中的工程用于组织程序,一个工程中可以包含多个源文件,但源文件中只能有一个main函数,通常可以由工程得到可执行文件。仔细观察实验1-1中的图2可知,在创建工程时,实际上已经创建了一个工作区。(注意工作区与工作空间仅是workspace的两种译法)
图1 新建工程时会自动创建一个工作区
由此可知,每个工程都属于一个工作区。在工程文件所在的文件夹中以.dsw(developer studio workspace)为扩展名的文件存放了工作区的信息,而.dsp(developer studio project) 为扩展名的文件存放了工程的信息。
文件菜单中的命令,如图2所示,仔细观察后发现VC6.0实际上是以工作空间(工作区)为“单位”来进行管理的。
图2 文件菜单中的命令
工作区有什么作用呢?顾名思义工作区是工作的区域。设想一下,正在编辑一个项目时因某种原因不得不停下,此时可能希望当下次工作时VC6.0能自动定位到中断的位置以便继续。如果如此,则有关项目的一些状态信息必须保存,如此时打开了项目中哪几个文件,当前的输入位置在什么地方等等。这些信息只是与工作有关的信息,不适合在项目文件中存储, 保存在工作区中是再恰当不过了。
在创建工程时也可以把它添加到当前工作区,显然可以单独创建一个工作区,而并非总是在创建工程时自动创建工作区。
***************************************************************************/
打开VC6.0,选择【文件(File)】|【新建(New)】菜单命令或按下快捷键(Ctrl+N),则弹出新建(New)对话框。单击“工作区”选项卡,如图3所示。
图3 “工作区”选项卡
2.单击图3中的“确定”按钮后,如图4所示。
图4 一个空白工作区
打开文件夹“F:\C语言程序示例\08141101”,如图5所示,观察所在生成的文件。
图5 新建一个工作区后生成的文件
思考:工作区意味着什么?
3. 选择【文件(File)】|【新建(New)】菜单命令或按下快捷键(Ctrl+N),则弹出新建(New)对话框,如图6所示。
图6 在工作区中创建工程
选择“添加到当前工作空间”,注意“位置”文本框中的变化,如图7所示。
图7 把工程“添加到当前工作空间”
4.创建一个名为test1的工程,且在test1工程中创建一个名为test1.c的源文件,如图8所示。
图8 包含一个名为test1工程的工作区
5.编译工程,运行程序,如图9所示。
图9 编译工程运行程序
此时与以前的创建工程时自动创建工作区的方式似乎没有区别,果真如此吗?
再次打开文件夹“F:\C语言程序示例\08141101”,如图10所示,观察变化。
图10 创建一个工程后文件夹的状态
思考:
先创建一个空白的工作区,再向其中添加工程的方式与以前的方式相比有何不同?怎么没有看到含有test1工程信息的文件test1.dsp?
6.回到vc6.0,再次选择【文件(File)】|【新建(New)】菜单命令或按下快捷键(Ctrl+N),则弹出新建(New)对话框,如图11所示。
图11 再见新建(New)对话框
单击“工程”选项卡,选择“添加到当前工作空间”,如图12所示。
图12再次选择“添加到当前工作空间”
接下来新建一个名为test2的工程,并向test2工程中创建一个名为test2.c的源文件,如图13所示。
图13 新建一个名为test2的工程
思考:
一个工作区中包含了两个工程,每个工程中有一个main函数,此时工作区中就有了两个main函数,再次编译时会出现错误吗?
7.按下快捷键Ctrl+F5编译,如图14所示。
图14 编译含有两个工程的工作区
通过观察可以发现,没有出错并且工程2被编译了。
思考:
1) 编译与工程和工作区的关系。
2) 工作区中有多个工程时哪个工程会被编译?
8.在工作区窗格的test1 files上单击鼠标右键,在弹出菜单中选择“设为活动工程”,如图15所示。
图15 把工程test1设为活动工程
此时似乎没有什么改变,如图16所示。
图16 工作区似乎没有改变
再次下快捷键Ctrl+F5编译,如图17所示。
图17 运行结果已经改变
工作区如旧,但编译后运行的却是由工程test1得到的程序,显然这次编译的是工程test1!
思考:
工作区、工程与编译的关系究竟如何?
9.再次打开文件夹“F:\C语言程序示例\08141101”,如图18所示,观察变化。
图18 包含了两个工程的工作区所在文件夹
思考:
工作区有什么作用?
转载地址:http://nbdti.baihongyu.com/