03 2009 档案
摘要:发布软件程序发布的主要问题就是要保证包含所有的文件以及确切的版本。幸运的是,网络程序社区已经发展出一个健壮的方法集合可以很多的解决这个问题。这些方法包括:使用在所有的Unix机器上均可用的标准工具将所有的组件文件打包进入一个包文件中控制软件包的版本号包文件采用包含版本号的命名约定从而用户可以很容易分辨出他们正在处理的版本包中子目录的使用可以保证当文件由包文件中解压出来时,他们就会位于一个单独的目录中,这样就不会弄混哪些包含在包文件中而哪些没有这些方法的发展就意味着程序可以很容易并且可靠的发布。程序安装的简便性是另一个问题,因为他会依赖于程序与所要安装的系统,但是至少我们可以保证我们拥有合适的组
阅读全文
摘要:内建规则到目前为止,我们已经在makefile文件中确切的指定了如何执行过程的每一步。事实上,makefile有大量的内建规则从而可以很大程度的简化makefile文件,特别是当我们有大量源文件的时候。下面我们创建foo.c,这是一个传统的Hello World程序。#include <stdlib.h>#include <stdio.h>int main(){ printf(“Hello World/n”); exit(EXIT_SUCCESS);}不指定makefile文件,我们尝试使用make来编译。$ make foocc foo.c -o foo$正如我们所看
阅读全文
摘要:Makefile中的注释makefile文件中的注释以#开始,并且直到本行结束。正如在C源文件中一样,makefile文件中的注释有助于作者也其他人更好的理解文件编写时所期望的作用。Makefile中的宏即使有make与makefile是管理多个源码文件工程的强大工具。然而,对于由大量的文件所组成的工程来说,他们仍显得庞大和不灵活。所以Makefile允许我们使用宏,从而我们可以将其写为更为通用的形式。我们在makefile文件中以MACRONAME=value的形式定义一个宏,然后以$(MACRONAME)或是${MACRONAME}的形式来访问MACRONAME的值。一些版本的make也可
阅读全文