首页 理论教育VisualC++6.0开发环境操作指南

VisualC++6.0开发环境操作指南

【摘要】:图7-11是Visual C++6.0开发环境的用户界面。File菜单可用于文件的保存和打开,Build菜单下的子菜单Compile用于各个源程序模块的单独编译,Build菜单下的子菜单Build用于各个源程序模块的连接,Build菜单下的子菜单Execute用于装载并运行程序。

经编译过程产生的目标程序还需要经过连接过程和装载过程计算机才能执行。编译过程、连接过程和装载过程构成了软件的开发环境。下面简单地讨论这两个问题。

1.连接和装载

从原理上说,源程序经过编译程序的编译就变成了计算机硬件可理解和执行的目标程序。但是一般较复杂的软件都是由许多模块组成的,这许多个模块分别经过编译后,产生的目标程序模块互不相连,所以需要考虑各模块间的联系问题。另外,程序只有装入内存后才能运行,不同计算机的内存情况各异,就是同一台计算机在不同的时刻其内存使用情况也不同,所以需要考虑目标程序装入内存的方法问题。因此,源程序在经过了编译程序编译变成目标程序后,还需要解决运行目标程序所必须的模块间的联系问题和装入内存的方法问题。这两个过程分别称作连接和装载。

连接就是把若干个分别编译完成的目标程序按照其调用关系连接起来(或者说组装起来),形成一个完整的模块。通常高级语言把经编译过程产生的程序模块命名为后缀为.obj的文件,把经连接过程产生的程序模块命名为后缀为.exe的文件。由于经连接过程产生的目标程序已是连接为一个整体的程序,所以,经连接过程产生的程序模块称作可执行程序。例如,若一个C语言的源程序文件名为exam.c,那么,经编译过程产生的文件名就是exam.obj,经连接过程产生的文件名就是exam.exe。程序exam.exe就是一个可执行程序。由于可执行程序都是以文件形式存放在磁盘等存储介质上,所以可执行程序也称作可执行文件。

各个计算机在不同时刻的内存使用情况是不相同的,但是,整个可执行程序中各条机器指令的相对位置是固定不变的,只要程序装入内存单元的起始地址确定,整个可执行程序中各条机器指令的具体内存地址就可以确定。因此,可执行程序都是设计成可重定位方式的(即可按给出的内存起始地址确定各条机器指令在内存中的实际地址),装载过程根据当前计算机装入时所确定的起始地址把可执行程序装入内存。(www.chuimin.cn)

2.软件的开发环境

高级语言程序需经过编译过程、连接过程和装载过程才能在计算机上运行,早先的编译系统中,编译子程序、连接子程序和装载子程序都是由用户根据需要输入不同的命令完成的。为了方便高级语言程序的设计过程,目前,基本上所有高级语言编译系统都把这些子程序整合在一个大的系统中,并把这样的包括了完整编译子程序、连接子程序、装载子程序等的系统称作开发环境。另外,开发环境中还包括了其他一些子程序,例如开发环境中通常还包括源程序编辑子程序、文件保存子程序、源程序调试子程序等。开发环境中所有子程序都以菜单方式或图标方式提供给用户。用户在这样一个集成化的开发环境中,可根据自己当前设计工作的需要,选择相应的菜单或击活相应的图标来完成自己的设计工作。图7-11是Visual C++6.0开发环境的用户界面。其中,Edit菜单可用于编辑C语言或C++语言源程序,图7-11的文本框内显示的是当前正在编辑的源程序。File菜单可用于文件的保存和打开,Build菜单下的子菜单Compile用于各个源程序模块的单独编译,Build菜单下的子菜单Build用于各个源程序模块的连接,Build菜单下的子菜单Execute用于装载并运行程序。

图7-11 Visual C++6.0开发环境