第二章 基于Object UNIX Class Library的应用程式基础
第一章已介绍了Object UNIX Class Library类库,接下来便能够开始构造简单的Object UNIX Class Library程式了。在后面几章,将讲述UNIX环境下文本窗口、交互式UNIX程式、包括菜单、对话框和一个简单的帮助系统。和此同时,将讲述基于Object UNIX Class Library的UNIX交互式程式设计的一些主要原理,如消息处理等。

从第二章到第六章将分下述步骤讲述Object UNIX Class Library的编程方法:

l 主窗口类

l 在窗口中显示文本

l 主窗口中的菜单

l 增加对话框

l 帮助系统

假如未改变缺省的安装目录,您将能够在/lfr_ide/sample子目录下找到源代码。文档名分别为:main.cpp、user.cpp等等。

2.1 编制一个Object UNIX Class Library应用程式:预备知识
在开始编制Object UNIX Class Library应用程式之前,必须做好这样几件事情:第一、须规定正确的包含目录以使编译器能找到任何相关的文档;第二、须规定正确的库目录,以使连接器能找到应用程式所需要的库文档。

2.1.1 类库
Object UNIX Class Library依赖于lib子目录中的类库。任何Object UNIX Class Library的对象均以Object作为她们的基类。Object UNIX Class Library还能够用到类库中的其他类如TWindow类或Tdialog类。读者能够在Object UNIX Class Library程式中随意使用各个类。



2.1.2 目录
除了应用程式可能用到的标准头文档(如stdio.h和curses.h等)之外,还需要告诉各种编译器工具,Object UNIX Class Library的头文档(如owl.hpp)存在何处。在编写Object UNIX Class Library程式时,必须包含owh.hpp文档。

任何的应用程式均须访问运行时间库,另外更有自己建立的库或从别处购买的库。除此之外,一个Object UNIX Class Library应用程式还需要访问标准的Object UNIX Class Library类库。

下面列出安装程式所使用的缺省目录。假如告知了安装程式使用不同的目录,则需要修改所提供的make文档或工程文档以适应实际的目录配置,在本系统提供的集成编译环境下,您能够通过选项菜单项来修改目录配置。

在UNIX环境的的目录结构下,Object UNIX Class Library存放在本系统安装后的系统目录下:/lfr_ide。

该目录下有几个子目录:./bin、./doc、./lib、./include。

./lib目录下存放着Object UNIX Class Library的系统类库libowl.a,通过链接本系统于用户的应用程式中,用户的应用程式将具备本系统提供的一系列交互式屏幕特征。

./bin目录下存放着集成编译系统程式连同一些UNIX下使用的工具如:dir、sdir、mdir、psvi等。

./include目录下存放着使用本Object UNIX Class Library类库系统的一些必要的头文档信息。

./doc目录下存放着C/C 集成编译系统连同Object UNIX Class Library的操作使用说明文档。

在用户编译他的应用程式时,请在make文档中指定包含头文档所在的目录:-I/lfr_ide/include连同库所在目录-L/lfr_ide/lib。

您还应该指定make的参数:-lowl。



2.2 建立Object UNIX Class Library应用程式
有两种建立Object UNIX Class Library应用程式的方法,第一种是利用本系统提供的集成编辑编译环境的项目管理程式IDE,第二种方法是使用UNIX系统提供的VI和make文档工具和命令行工具CC。

2.2.1 使用IDE建立Object UNIX Class Library应用程式
使用集成研发环境IDE建立Object UNIX Class Library应用程式时,需要使用工程项目文档。关于使用工程项目文档的周详步骤,请参阅IDE的使用说明。建立Object UNIX Class Library应用程式工程项目文档的一般步骤如下:

l 创建工程文档

指定工程文档名,工程项目文档存放目录,工程执行文档名,选择是否连接Oracle数据库,将应用程式的源文档(带.cpp等扩展名)加到项目文档中。

l 打开工程文档

l 指定包含目录或库目录(参阅上节说明)

2.2.2 使用UNIX系统提供的make或CC命令行工具
假如使用UNIX系统提供的make或CC命令行工具编译和连接Object UNIX Class Library应用程式,用编辑配置文档的方式建立make文档来指定包含目录或库目录可能是最简单的方法。在make文档中,能够用-l和-L指示相应的目录.

能够使用类似如下所示的命令行来编译和连接应用程式:

CC –o test main.cpp –I/lfr_ide/include –L/lfr_ide/lib –lowl –ltinfo

该命令行首先编译main.cpp文档,然后再将他和libowl.a相连接。



2.3 第一步:一个简单的基于UNIX系统的交互式应用程式
Object UNIX Class Library应用程式研发能够从编写框架开始。和此相应的范例是/lfr_ide/sample/main.cpp。main.cpp的首要任务是生成应用程式主窗口。

2.3.1 应用程式需要
任何的基于Object UNIX Class Library系统的交互式应用程式都必须有一个主窗口。当程式启动时,主窗口便会出现。用户通过关闭主窗口的退出系统菜单而退出应用程式的。在Object UNIX Class Library应用程式中,主窗口通常是个窗口对象(Windows Object)。这个对象是从属于应用程式对象(Application Object)的。应用程式对象生成并显示主窗口,处理用户键盘消息连同终止应用程式的执行。应用程式对象是应用程式的面向对象代理。Object UNIX Class Library以相同的方式提供了窗口、对话框和其他类,这些类隐藏了UNIX应用程式的编程细节。

每个Object UNIX Class Library程式都必须定义一个新的应用程式类,新的应用程式类必须是所提供的Tapplication类的派生类。在main(UNIX程式的入口点)中,构造这个派生类的事例(应用程式对象)。按造惯例,通常类型(类及类的事例)标识以字母T打头。在范例程式中,这个类称为TlfrApp。

此处的是范例程式的主函数:

int main(void)

{

InitScreen();//初始化curses库

TlfrApp LfrApp(“Sample Object UNIX Class Program”);

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!