本文链接
2.1 nx 安装与使用入门
2.2 nx 基本 命令 和概念
2.3 程序 开发环境
2.3.3 软件开发
- 本节介绍有关软件开发中
- 目前的主要软件大体上可分三。
- 软件的特点:
- 做到所有这些要求不容易。
2. 实用工具 make
- 构成软件的文件数目可能很多,
- 有效地描述这些文件之间的依赖关系以及处理命令,
- make 便是针对这些问题而设计的软件开发实用工具。
- make来完成软件编译
- 俩头文件,
- 源程序仨: main.c 、 solver.c 和 parameter.c ,
- 其余部分:程序要读入的数据文件,
- 再就是文档, solver.tex
- 更复杂的软件大体上也包括这些部分,
- 文件间有依赖
- T E X 文件要编译成 PDF
- make达到的目标:
- 下面是按这样的要求写的 Makefile 文件,它是 make 的输入文件。
- Makefile 含一系列规则的文本文件
- 每个规则
- 规则两部分组成。
- 当更新一个指定目标时,
- 由于检查依赖关系时,
- 先定义叫all 的默认目标 (target) 。
- 源程序编译产生的可执行文件,叫main ,
- 输 “make all”
all : main main.pdf
- 编译分两
- 下面是文件 main 的依赖关系及处理 ( 链接 ) 命令。
- 它依赖三目标文件,通过gcc对这三个目标文件进行链接生成。
- 包含处理命令的行须 以 <Tab> 开始
main : main.o solver.o parameter.o
gcc -o main main.o solver.o parameter.o
main.o : main.c parameter.h
gcc -g -c main.c
- 接下来是 solver.o 和 parameter.o 的
solver.o : solver.c solver.h parameter.h
gcc -g -c solver.c
parameter.o : parameter.c parameter.h
gcc -g -c parameter.c
parameter.c : data1.dat data2.dat
@echo "Data files modified, please revise \"parameter.c\"."
main.pdf : main.dvi
dvipdf -o main.pdf main.dvi
main.dvi : main.tex
latex main.tex
clean :
rm -f main *.o main.pdf main.dvi main.aux main.log
- Makefile的使用
- 文件存在程序所在目录下,名 “Makefile” 。
- 运行 make 时,可直接指定要检查更新的目标,
- 通过比较文件修改时间, make 只运行必要的命令
- 如想强制重新编译
- 上面Makefile含一些重复内容
- 如换个编译器,可不用一个修改 gcc吗 ?
- 如果系统中的头文件和库文件的路径和预期的不太一样,
- 下面介绍的 make 的功能可以解决这些问题。
- Makefile 中可用变量,也叫宏
- Makefile 中可以使用变量,这些变量也叫做宏。
- 如,可将编译器的名字定为一变量,
- make 中可以定义隐含规则,
- 下面应用这些功能,将上面的Makefile 改写成如下形式



- 例子中用了自动变量,“ @ ” 、 “ @”、“ @”、“<”等。
- make的自动变量在定义隐式规则时非常有用。

- make还有许多其他功能。
- 此外,与make相关的还有许多其他工具,
- 如 Autoconf、 Automake、 Libtool、 alloca、 Autoscan
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删