博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
实验1-5 用工作区组织工程
阅读量:4145 次
发布时间:2019-05-25

本文共 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/

你可能感兴趣的文章
JavaScript substr() 方法
查看>>
JavaScript slice() 方法
查看>>
JavaScript substring() 方法
查看>>
HTML 5 新的表单元素 datalist keygen output
查看>>
(转载)正确理解cookie和session机制原理
查看>>
jQuery ajax - ajax() 方法
查看>>
将有序数组转换为平衡二叉搜索树
查看>>
最长递增子序列
查看>>
从一列数中筛除尽可能少的数,使得从左往右看这些数是从小到大再从大到小...
查看>>
判断一个整数是否是回文数
查看>>
经典shell面试题整理
查看>>
腾讯的一道面试题—不用除法求数字乘积
查看>>
素数算法
查看>>
java多线程环境单例模式实现详解
查看>>
将一个数插入到有序的数列中,插入后的数列仍然有序
查看>>
在有序的数列中查找某数,若该数在此数列中,则输出它所在的位置,否则输出no found
查看>>
万年历
查看>>
作为码农你希望面试官当场指出你错误么?有面试官这样遭到投诉!
查看>>
好多程序员都认为写ppt是很虚的技能,可事实真的是这样么?
查看>>
如果按照代码行数发薪水会怎样?码农:我能刷到公司破产!
查看>>