WEB开发网
开发学院操作系统Linux/Unix 为多个 UNIX 平台编写软件 阅读

为多个 UNIX 平台编写软件

 2008-11-13 08:29:12 来源:WEB开发网   
核心提示: 显然,为了获得系统提供的各种好处,为多个 UNIX 平台编写软件(9),必须首先告知自动工具环境通常将如何构建应用程序,并使用自动工具系统扫描您的源代码,该应用程序依赖于一个词法分析组件(要求使用 lex)和一个语法组件(要求使用 yacc)以及数个支持特定操作的其他文件,可以在清单 4

显然,为了获得系统提供的各种好处,必须首先告知自动工具环境通常将如何构建应用程序,并使用自动工具系统扫描您的源代码,从而确定为了让您的应用程序正常工作所需的函数、库和其他组件。

设置项目结构

使用自动工具的第一步是为应用程序创建合适的结构。对于此示例,将使用简单的计算器应用程序(请参见下载),该应用程序依赖于一个词法分析组件(要求使用 lex)和一个语法组件(要求使用 yacc)以及数个支持特定操作的其他文件。可以在清单 4 中看到相关的文件列表。

清单 4. 计算器的源文件

total 28
-rwxrwx--x 1 mc mcslp 458 Jan 25 17:19 Makefile*
-rwxrwx--x 1 mc mcslp 129 Apr 16 1997 calc.h*
-rwxrwx--x 1 mc mcslp 4216 Jun 11 1997 calcparse.y*
-rwxrwx--x 1 mc mcslp 136 Jun 8 1997 const.c*
-rwxrwx--x 1 mc mcslp 643 Apr 16 1997 fmath.c*
-rwxrwx--x 1 mc mcslp 1095 Jan 25 17:16 lex.l*

清单 5 中显示了手动编写的用于构建计算器的 Makefile。

清单 5. 一个手动编写的 Makefile

YFLAGS    = -d
PROGRAM    = calc
OBJS     = calcparse.tab.o lex.yy.o fmath.o const.o
SRCS     = calcparse.tab.c lex.yy.c fmath.c const.c
CC      = gcc   #C compiler
all:      $(PROGRAM)
.c.o:      $(SRCS)
        $(CC) -c $*.c -o $@ -O
calcparse.tab.c:    calcparse.y
        bison $(YFLAGS) calcparse.y
lex.yy.c:    lex.l
        flex lex.l
calc:      $(OBJS)
        $(CC) $(OBJS) -o $@ -lfl -lm
clean:;     rm -f $(OBJS) core *~ #* *.o $(PROGRAM)
        y.* lex.yy.* calcparse.tab.*

上一页  4 5 6 7 8 9 10  下一页

Tags:多个 UNIX 平台

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接