第3章 MAKE工具的使用
第3章 函数_补充案例

or die('数据库连接失败!');
mysql_query('set names utf8',$link);
mysql_select_db('mysql',$link);
function getUsersInfo(){
现在举例假设:有一只猴子摘了一堆桃子,当即吃了一半,可是桃子太好吃了,它又多吃了一个,第二天它把第一天剩下的桃子吃了一半,又多吃了一个,就这样到第十天早上它只剩下一个桃子了,问它一共摘了多少个桃子?
4、设计思路(实现原理)
1)编写一个函数peach($n),每次都判断一下$n是否等于1,如等于1,则返回1;如不相等,则$n -1 ,再调用自身peach(),并传递$n-1的结果。
4、设计思路(实现原理)
1)编写PHP文件link.php,获取连接数据库的资源$link,设定字符集,选择数据库。
2)在link.php中编写getUsersInfo()这个函数,执行获取用户信息语句,并同时传递$link。
二、案例实现
1、在link.php中定义getUsersInfo函数,代码如下:
foreach($arr as $v){
$str .= $v;
}
return $str;
}
var_dump(concat('a', true, -3.56));
运行程序,结果如下图所示:
三、案例总结
在函数内部,我们可以使用func_get_args()函数以数组的形式接收传递过来的参数。
python核心编程第二版第3章习题答案

3-1.标识符。
为什么Python中不需要变量名和变量类型声明?答案:Python语言中对象的类型和内存都是运行时确定的。
在创建也就是赋值时,解释器会根据语法和右侧的操作数来决定新对象的类型。
因为变量在第一次赋值的时候就被自动声明了。
Python是无类型的语言。
Python既是动态类型语言(因为它不使用显示数据类型声明,在运行期间才去确定数据类型),又是强类型语言(因为只要一个变量获得了一个数据,它就一直就是这个数据的数据类型)。
3-2.标识符。
为什么Python中不需要声明函数类型?答案:函数没有定义返回的数据类型。
Python不需要指定返回值的数据类型;甚至不需要指定是否有返回值。
实际上,每个Python函数都返回一个值;如果函数执行过return语句,它将返回指定的值,否则将返回None(Python的空值)。
3-3.标识符。
为什么应当避免在变量名的开始和结尾使用双下划线?答案:因为变量名__xxx__对Python来说有特殊含义,对于普通的变量应当避免这种命名风格。
3-4.语句。
在Python中一行可以书写多个语句吗?答案:可以3-5.语句。
在Python中可以将一个语句分成多行书写吗?答案:可以3-6.变量赋值。
(a)赋值语句x, y, z = 1, 2, 3会在x、y、z中分别赋什么值?(b)执行z, x, y = y, z, x后,x、y、z中分别含有什么值?答案:(a)x = 1, y = 2, z = 3(b)x = 3, y = 1, z = 23-7.标识符。
下面哪些是Python合法的标识符?如果不是,请说明理由。
在合法的标识符中,哪些是关键字?int32 40XL $aving$ printf print_print this self __name__ 0X40Lbool true big-daddy 2hot2touch typethisIsn'tAVar thisIsAVar R_U_Ready Int Trueif do counter-1 access -答案:Python标识符字符串规则和其他大部分用C便携的高级语言相似:第一个字符必须是字母或下划线'_';剩下的字符可以是字母数字或下划线;大小写敏感。
GNU Make 使用手册(中译版)

GNU Make 使用手册(中译版)翻译:于凤昌译者注:本人在阅读Linux源代码过程中发现如果要全面了解Linux的结构、理解Linux的编程总体设计及思想必须首先全部读通Linux源代码中各级的Makefile文件。
目前,在网上虽然有一些著作,但都不能全面的解释Linux源代码中各级的Makefile文件,因此本人认真阅读了GNU Make 使用手册(3.79)版原文,在此基础上翻译了该手册,以满足对Linux源代码有兴趣或者希望采用GCC编写程序但对缺乏GNU Make全面了解之人士的需要。
本人是业余爱好不是专业翻译人士,如果有问题请通过电子信箱与我联系共同商讨,本人的E-mail为:yfc70@ 。
注意在文章中出现的斜体加粗字表示章节。
GNU make Version 3.79April 2000Richard M. Stallman and Roland McGrath目录1 make概述1.1 怎样阅读本手册1.2 问题和BUG2 Makefile文件介绍2.1 规则的格式2.2一个简单的Makefile文件2.3make处理Makefile文件的过程2.4使用变量简化Makefile文件2.5让make推断命令2.6另一种风格的Makefile文件2.7在目录中删除文件的规则33编写Makefile文件3.1Makefile文件的内容3.2Makefile文件的命名3.3包含其它的Makefile文件3.4变量MAKEFILES3.5Makefile文件重新生成的过程3.6重载其它Makefile文件3.7make读取Makefile文件的过程4 编写规则4.1规则的语法4.2在文件名中使用通配符4.2.1通配符例子4.2.2使用通配符的常见错误4.2.3函数wildcard4.3在目录中搜寻依赖4.3.1VPATH:所有依赖的搜寻路径4.3.2vpath指令4.3.3目录搜寻过程4.3.4编写搜寻目录的shell命令4.3.5目录搜寻和隐含规则4.3.6连接库的搜寻目录4.4假想目标4.5没有命令或依赖的规则4.6使用空目录文件记录事件4.7内建的特殊目标名4.8具有多个目标的规则4.9具有多条规则的目标4.10静态格式规则4.10.1静态格式规则的语法4.10.2静态格式规则和隐含规则4.11双冒号规则4.12自动生成依赖5 在规则中使用命令5.1命令回显5.2执行命令5.3并行执行5.4命令错误5.5中断或关闭make5.6递归调用make5.6.1变量MAKE的工作方式5.6.2与子make通讯的变量5.6.3与子make通讯的选项5.6.4`--print-directory'选项5.7定义固定次序命令5.8使用空命令66使用变量6.1变量引用基础6.2变量的两个特色6.3变量高级引用技术6.3.1替换引用6.3.2嵌套变量引用6.4变量取值6.5设置变量6.6为变量值追加文本6.7override指令6.8定义多行变量6.9环境变量6.10特定目标变量的值6.11特定格式变量的值7 Makefile文件的条件语句7.1条件语句的例子7.2条件语句的语法7.3测试标志的条件语句8 文本转换函数8.1函数调用语法8.2字符串替换和分析函数8.3文件名函数8.4函数foreach8.5函数if8.6函数call8.7函数origin8.8函数shell8.9控制Make的函数99运行make9.1指定Makefile文件的参数9.2指定最终目标的参数9.3代替执行命令9.4避免重新编译文件9.5变量重载9.6测试编译程序9.7选项概要10 使用隐含规则10.1使用隐含规则10.2隐含规则目录10.3隐含规则使用的变量10.4隐含规则链10.5定义与重新定义格式规则10.5.1格式规则简介10.5.2格式规则的例子10.5.3自动变量10.5.4格式匹配10.5.5万用规则10.5.6删除隐含规则10.6定义最新类型的缺省规则10.7过时的后缀规则10.8隐含规则搜寻算法11 使用make更新档案文件11.1档案成员目标11.2档案成员目标的隐含规则11.2.1更新档案成员的符号索引表11.3使用档案的危险11.4档案文件的后缀规则12 GNU make的特点13 不兼容性和失去的特点14 Makefile文件惯例14.1makefile文件的通用惯例14.2makefile文件的工具14.3指定命令的变量14.4安装路径变量14.5用户标准目标14.6安装命令分类15快速参考16make产生的错误17复杂的Makefile文件例子附录 名词翻译对照表1 Make 概述Make 可自动决定一个大程序中哪些文件需要重新编译,并发布重新编译它们的命令。
软件项目管理案例教程(第四版)课后习题答案

项目管理案例教程(第四版)习题及答案第一章软件项目管理概述一、填空题1、敏捷模型包括4个核心价值,对应12个敏捷原则。
2、项目管理包括(启动过程组)、(计划过程组)、(执行过程组)、(控制过程组)、(收尾过程组)5个过程组.二、判断题1、搬家属于项目。
(对)2、项目是为了创造一个唯一的产品或提供一个唯一的服务而进行的永久性的努力.(错)3、过程管理目的是要让过程能够被共享、复用,并得到持续的改进。
(对)4、项目具有临时性的特征.(对)5、日常运作存在大量的变更管理,而项目基本保持连贯性的。
(错)6、项目开发过程中可以无限制地使用资源。
(错)7、(对)参见教材p20三、选择题1、下列选项中不是项目与日常运作的区别的是(C)A。
项目是以目标为导向的,日常运作是通过效率和有效性体现的。
B. 项目是通过项目经理及其团队工作完成的,而日常运作是职能式的线性管理.C.项目需要有专业知识的人来完成,而日常运作的完成无需特定专业知识.D.项目是一次性的,日常运作是重复性的.2、以下都是日常运作和项目的共同之处,除了(D)A.由人来做B.受限于有限的资源C.需要规划、执行和控制D.都是重复性工作3、(A)4、下列选项中属于项目的是(C)A.上课B。
社区保安C。
野餐活动D。
每天的卫生保洁5、下列选项中正确的是(C)A.一个项目具有明确的目标而且周期不限B.一个项目一旦确定就不会发生变更C.每个项目都有自己的独特性D.项目都是一次性的并由项目经理独自完成6、(B)是为了创造一个唯一的产品或提供一个唯一的服务而进行的临时性的努力。
A.过程 B.项目 C.项目群 D.组合A.人力资源管理 B.项目管理 C.软件项目管理 D.需求管理7、(c)8、下列活动中不是项目的是(C)A.野餐活动B。
集体婚礼 C.上课 D.开发操作系统9、下列选项中不是项目的特征的是(C)A.项目具有明确的目标B.项目具有限定的周期C。
项目可以重复进行D.项目对资源成本具有约束性补充:1、下列选项中最能体现项目的特征(C)A.运用进度计划技巧B.整合范围与成本C.确定期限D.利用网络进行跟踪2、项目经理的职责不包括(D)A.开发计划B。
第三章 Model Builder

ArcToolbox工具详解—三维分析工具2010-06-04 16:04转载自gis理想最终编辑gis理想大家好!最近看到很多群友问到有关ArcMAP里的工具问题这里我把ArcMAP工具里的各项列出来请大家先熟悉一些基本的常识有些单词也不是很好翻译估计会有很多不当之处请大家不吝赐教!这次先把三维分析工具整理了一下以后会陆续整理其他工具的说明好了言归正传!3D Analyst Tools 三维分析工具这里请看上图第一个是转换里面有从要素类进行转换从文件进行转换从栅格进行转换从地形开始转换从三角网开始转换转换至KML三维图层转换至要素类而这些里面又有更加细化的工具这里就举一个例子从地形转换里另有两个方面一个是从地形到栅格一个是从地形到三角网请大家自行对照理解!如图:第二个是表面功能里面有五个小方面一是Interpolate Shape(插值形状)二是Line Of Sight (视线)三是Surface Length(表面长度)四是Surface Spot(表面地点)五是SurfaceV olume(表面体积)第三个是栅格修补这里有八个方面一是IDW 二是Kriging(克里金)三是Natural Neighbor (自然邻域)四是Spline 五是Spline with Barriers 六是Topo to Raster(地形到栅格)七是Topo to Raster by File(用文件地形到栅格)八是Trend(趋势)第四个是栅格计算这个很好理解一是除二是浮点三是取整四是减五是加六是乘第五是栅格重分类一是查找二是用ASCII文件重分类三是用表重分类四是重分类五是切片第六是栅格表面一是坡向二是等高线三是等高线列表四是带路障的等高线五是曲率六是填挖七是山影八是观察点九是坡度十是视域第七是地形一是增加要素类到地形二是增加地形点三是增加地形金字塔四是建立地形五是改变地形参考比例六是创建地形七是从地形中移去要素类八是移去地形点九是移去地形金字塔第八是TIN的创建一是创建TIN二是划定TIN数据区域三是编辑TIN第九是TIN的表面一是消除节点二是从中挑出三是多边形插值成多个面四是TIN坡向五是TIN轮廓六是TIN差异七是TIN表面体积八是TIN坡度第三章 Model Builder第一节 Model基础前面讲了很多的地里处理的概念,涉及好几个地里处理运行方式。
《哈利波特与阿兹卡班囚徒》第3章《骑士公共汽车》中英文对照学习版

中英文对照学习版Harry Potter and the Prisoner of Azkaban《哈利波特与阿兹卡班囚徒》Chapter ThreeThe Knight Bus第3章骑士公共汽车Harry was several streets away before he collapsed onto a l ow wall in Magnolia Crescent, panting from the effort of dragging his trunk. He sat quite still, anger still surging through him, listening to the frantic thumping of his heart.哈利拖着箱子走过几条街后,瘫倒在木兰花新月街的一堵矮墙上,累得上气不接下气。
他一动不动地坐在那里,听着自己心脏嗵嗵的狂跳声,心里仍然腾腾地冒着怒火。
But after ten minutes alone in the dark street, a new emotion overtook him: panic. Whichever way he l ooked at it, he had never been in a worse fix. He was strand ed, quite alone, in the dark Muggl e world, with absolutely nowhere to go. And the worst of it was, he had just d one serious magic, which meant that he was almost certainly expell ed from Hogwarts. He had broken the Decree for the Restriction of Und erage Wizardry so badly, he was surprised Ministry of Magic representatives weren't swooping d own on him where he sat.在漆黑的街道上独自待了十分钟后,一种新的情绪抓住了他:紧张。
openssl3 手册

openssl3 手册OpenSSL 3 手册第一章:介绍OpenSSL 3 是一套开放源代码的安全套接字层密码库,提供了一系列用于安全通信的加密算法和协议实现。
本手册将为您详细介绍OpenSSL 3 的功能、用法和配置。
第二章:安装在开始使用 OpenSSL 3 之前,您需要先安装它。
以下是安装OpenSSL 3 的步骤:1. 下载 OpenSSL 3 的最新版本压缩包,并解压到您的计算机上。
2. 打开终端或命令提示符,进入解压后的 OpenSSL 3 目录。
3. 执行以下命令编译和安装 OpenSSL 3:```./configmakemake install```第三章:常用命令OpenSSL 3 提供了丰富的命令行工具,用于执行各种任务,包括生成证书、加密文件和检查数字签名等。
以下是一些常用的命令及其用法:1. 生成自签名证书:```openssl req -newkey rsa:2048 -nodes -keyout privateKey.key -x509 -days 365 -out certificate.crt```该命令将生成一个私钥和自签名证书,有效期为 365 天。
2. 加密文件:```openssl enc -aes-256-cbc -salt -in plaintext.txt -out encrypted.txt```上述命令将使用AES-256-CBC 加密算法对plaintext.txt 进行加密,并将加密后的结果保存到 encrypted.txt。
3. 创建数字签名:```openssl dgst -sha256 -sign privateKey.key -out signature.bin data.txt```该命令将使用 SHA-256 算法对 data.txt 进行哈希,并使用私钥对哈希值进行签名,生成 signature.bin。
4. 验证数字签名:```openssl dgst -sha256 -verify certificate.crt -signature signature.bin data.txt```上述命令将使用公钥证书验证 signature.bin 是否为 data.txt 的有效签名。
英汉翻译教程讲解第三章

第3章Unit 3 Geography本单元的课文和练习文章都是描述地理风貌的,在翻译时尽量使用客观性的语言,不参杂个人情感,甚至可用无主句。
在翻译风土人情时往往涉及的知识面较宽,需要译者在帄时多注意积累,这样翻译才能到位,不聊中 啊?BR> 在语言对比方面的重点是:一、动词无论是英语还是汉语,动词是最常用的词了。
因此要做好翻译工作,译好动词的重要性更是显而易见的了。
(一)要选译适当的动词。
英语和汉语虽然在动宾搭配方面有许多共同之处,但是仍然存在着不少的差别。
如to cut wheat割麦子;to cut cake切蛋糕;to cut finger-nails剪指甲。
因此在翻译时要各自的表达习惯选择适当的动词。
例1) He is in trouble. 他有麻烦了。
例2) Helen was so aggressive while talking about her dog.当海伦谈到她的狗时,兴致勃勃。
(省略动词)例3) I saw her wandering in the street wearing sun glasses and a thick jacket. 我看见她戴着太阳镜,穿着厚茄克,在街上闲逛。
例4) Please keep me informed as soon as you got the news. 请你一得到消息就通知我。
(二)英语的非动词形式转译成汉语的动词。
英语主谓机制突出,一个句子往往动词少,名词多,尤其是抽象名词用得多,常靠词的形态变化来表达意思;汉语没有形态变化,重动态描写,所以汉语动词用得多,表达意思时往往借助动词,按时间及逻辑顺序层层交待。
在英译汉时,英语中的许多意思都可以用汉语的动词来表达。
1. 英语中具有动作意义的名词或由动词转化过来的名词,汉译时往往可转化为动词。
例1) They went on strike in demand of a 40 per cent wage increase. 他们举行罢工,要求工资增加40%。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章 MAKE工具的使用 工具的使用
3.1 MAKE工具概述 工具概述 3.2 Makefile文件简介 文件简介 3.3 MAKE的工作流程 的工作流程 3.4 Makefile中的变量使用 中的变量使用
结 束
MAKE工具的使用 第3章 MAKE工具的使用
MAKE工具的使用述了整个工程的 文件描述了整个工程的 所要完成的 编译,连接等规则.其中包括: 编译,连接等规则.其中包括:工程中的哪些源文 件需要编译以及如何编译, 件需要编译以及如何编译,需要创建那些库文件以 及如何创建这些库文件, 及如何创建这些库文件,如何最后产生我们想要的 可执行文件.尽管看起来可能是很复杂的事情, 可执行文件.尽管看起来可能是很复杂的事情,但 是为工程编写Makefile的好处是能够使用一行命令 是为工程编写 的好处是能够使用一行命令 来完成"自动化编译" 来完成"自动化编译",一旦提供一个正确的 Makefile.编译整个工程你所要做的唯一的一件事 . 就是在shell 提示符下输入 提示符下输入make命令.整个工程完 命令. 就是在 命令 全自动编译. 全自动编译.
MAKE工具的使用 第3章 MAKE工具的使用
一个规则可以有多个命令行, 一个规则可以有多个命令行,每一条命令占 一行.注意:每一个命令行必须以[Tab]字符开始, 一行.注意:每一个命令行必须以 字符开始, 字符开始 [Tab]字符告诉 字符告诉make此行是一个命令行.make按照 此行是一个命令行. 字符告诉 此行是一个命令行 按照 命令完成相应的动作.这也是书写Makefile中容易 命令完成相应的动作.这也是书写 中容易 产生,而且比较隐蔽的错误. 产生,而且比较隐蔽的错误. 命令就是在任何一个目标的依赖文件发生变 化后重建目标的动作描述. 化后重建目标的动作描述.一个目标可以没有依赖 而只有动作(指定的命令).比如Makefile中的目 ).比如 而只有动作(指定的命令).比如 中的目 标"clean",此目标没有依赖,只有命令.它所定 ,此目标没有依赖,只有命令. 义的命令用来删除make过程产生的中间文件(进 过程产生的中间文件( 义的命令用来删除 过程产生的中间文件 行清理工作). 行清理工作).
MAKE工具的使用 第3章 MAKE工具的使用
make是一个命令工具,它解释Makefile中的 是一个命令工具,它解释 是一个命令工具 中的 指令(应该说是规则). ).在 指令(应该说是规则).在Makefile文件中描述了 文件中描述了 整个工程所有文件的编译顺序,编译规则. 整个工程所有文件的编译顺序,编译规则. Makefile有自己的书写格式,关键字,函数. 有自己的书写格式, 有自己的书写格式 关键字,函数. 语言有自己的格式, 像C语言有自己的格式,关键字和函数一样.而且 语言有自己的格式 关键字和函数一样. 中可以使用系统shell所提供的任何命令 在Makefile中可以使用系统 中可以使用系统 所提供的任何命令 来完成想要的工作. 在绝大多数的IDE开 来完成想要的工作.Makefile在绝大多数的 在绝大多数的 开 发环境中都在使用,已经成为一种工程的编译方法. 发环境中都在使用,已经成为一种工程的编译方法.
MAKE工具的使用 第3章 MAKE工具的使用
正如前面提到的你只需要在shell下执行 下执行 正如前面提到的你只需要在 "make".make会自动根据修改情况完成源文件 . 会自动根据修改情况完成源文件 的对应.o文件的更新 库文件的更新, 文件的更新, 的对应 文件的更新,库文件的更新,最终的可执 行程序的更新. 通过比较对应文件( 行程序的更新. make通过比较对应文件(规则的 通过比较对应文件 目标和依赖,)的最后修改时间, ,)的最后修改时间 目标和依赖,)的最后修改时间,来决定哪些文件 需要更新,那些文件不需要更新. 需要更新,那些文件不需要更新.对需要更新的文 件make就执行数据库中所记录的相应命令来重建 就执行数据库中所记录的相应命令来重建 对于不需要重建的文件make什么也不做. 什么也不做. 它,对于不需要重建的文件 什么也不做
MAKE工具的使用 第3章 MAKE工具的使用
目前,系统完整的介绍 目前,系统完整的介绍make工具和如何编写 工具和如何编写 Makefile的中文文档比较少.本次课程希望能使众 的中文文档比较少. 的中文文档比较少 多的Linux环境下的程序员能够较容易的掌握和学 多的 环境下的程序员能够较容易的掌握和学 会使用GNU make的简单使用. 的简单使用. 会使用 的简单使用
MAKE工具的使用 第3章 MAKE工具的使用
读取Makefile以后会建立一个编译过 在make读取 读取 以后会建立一个编译过 程的描述数据库.此数据库中记录了所有各个文件 程的描述数据库. 之间的相互关系,以及它们的关系描述. 之间的相互关系,以及它们的关系描述. 正如前面提到的你只需要在shell下执行 下执行 正如前面提到的你只需要在 "make".make会自动根据修改情况完成源文件 . 会自动根据修改情况完成源文件 的对应.o文件的更新 库文件的更新, 文件的更新, 的对应 文件的更新,库文件的更新,最终的可执 行程序的更新.可以通过make的命令行选项指定 行程序的更新.可以通过 的命令行选项指定 需要的操作. 需要的操作.
MAKE工具的使用 第3章 MAKE工具的使用
prerequisites:规则的依赖.生成规则目标所需要 :规则的依赖. 的文件名列表. 的文件名列表.通常一个目标依赖于一个或者多个 文件. 文件.command:规则的命令行.是规则所要执 :规则的命令行. 行的动作(任意的shell命令或者是可在 命令或者是可在shell下执行 行的动作(任意的 命令或者是可在 下执行 的程序).它限定了make执行这条规则时所需要 ).它限定了 的程序).它限定了 执行这条规则时所需要 的动作. 的动作.
MAKE工具的使用 第3章 MAKE工具的使用
文件功能如下: 该Makefile文件功能如下: 文件功能如下 1. 所有的源文件没有被编译过,则对各个 源文 所有的源文件没有被编译过,则对各个C源文 件进行编译并进行链接,生成最后的可执行程序; 件进行编译并进行链接,生成最后的可执行程序; 2. 每一个在上次执行 每一个在上次执行make之后修改过的 源代码 之后修改过的C源代码 之后修改过的 文件在本次执行make时将会被重新编译; 时将会被重新编译; 文件在本次执行 时将会被重新编译 3. 头文件在上一次执行 头文件在上一次执行make之后被修改.则所有 之后被修改. 之后被修改 包含此头文件的C源文件在本次执行 源文件在本次执行make时将会 包含此头文件的 源文件在本次执行 时将会 被重新编译. 被重新编译.
返回本节
MAKE工具的使用 第3章 MAKE工具的使用
3.2 Makefile简介 简介
3.2.1 3.2.2 Makefile中规则的基本知识 中规则的基本知识 简单的Makefile文件举例 文件举例 简单的
返回本章首页
MAKE工具的使用 第3章 MAKE工具的使用
Makefile中规则的基本知识 中规则的基本知识
返回本节
MAKE工具的使用 第3章 MAKE工具的使用
MAKE工具的使用 工具的使用
make在执行时,需要一个命名为Makefile 在执行时,需要一个命名为 在执行时 的文件.这个文件告诉make以何种方式编译源 的文件.这个文件告诉 以何种方式编译源 代码和链接程序.典型地, 代码和链接程序.典型地,可执行文件可由一 文件按照一定的顺序生成或者更新. 些.o文件按照一定的顺序生成或者更新.如果在 文件按照一定的顺序生成或者更新 你的工程中已经存在一个或者多个正确的 Makefile.当对工程中的若干源文件修改以后, .当对工程中的若干源文件修改以后, 需要根据修改来更新可执行文件或者库文件. 需要根据修改来更新可执行文件或者库文件.
MAKE工具的使用 第3章 MAKE工具的使用
一个Makefile文件中通常还包含了除规则以 文件中通常还包含了除规则以 一个 外的很多东西(后续我们会一步一步的展开).一 外的很多东西(后续我们会一步一步的展开).一 ). 个最简单的Makefile可能只包含规则. 可能只包含规则. 个最简单的 可能只包含规则 规则在有些Makefile中可能看起来非常复杂, 中可能看起来非常复杂, 规则在有些 中可能看起来非常复杂 但是无论规则的书写是多么的复杂, 但是无论规则的书写是多么的复杂,它都符合规则 的基本格式. 程序根据规则的依赖关系, 的基本格式.make程序根据规则的依赖关系,决 程序根据规则的依赖关系 定是否执行规则所定义的命令的过程我们称之为执 行规则. 行规则.
MAKE工具的使用 第3章 MAKE工具的使用
在Makefile中"规则"就是描述在什么情况 中 规则" 下,如何重建规则的目标文件,通常规则中包括了 如何重建规则的目标文件, 目标的依赖关系(目标的依赖文件) 目标的依赖关系(目标的依赖文件)和重建目标的 命令. 执行重建目标的命令, 命令.make执行重建目标的命令,创建或者重建 执行重建目标的命令 规则的目标( 规则的目标(此目标文件也可以是触发这个规则的 上一个规则中的依赖文件).规则包含了文件之间 上一个规则中的依赖文件).规则包含了文件之间 ). 的依赖关系和更新此规则目标所需要的命令. 的依赖关系和更新此规则目标所需要的命令.
返回本节
MAKE工具的使用 第3章 MAKE工具的使用
简单的Makefile文件举例 文件举例 简单的
本节将分析一个简单的Makefile,它对一 , 本节将分析一个简单的 个包含8个 的源代码和三个头文件的工程进行编 个包含 个C的源代码和三个头文件的工程进行编 译和链接.这个Makefile提供给了 提供给了make必要的信 译和链接.这个 提供给了 必要的信 程序根据Makefile中的规则描述执行相 息,make程序根据 程序根据 中的规则描述执行相 关的命令来完成指定的任务( 编译, 关的命令来完成指定的任务(如:编译,链接和 清除编译过程文件等).当使用make工具进行 ).当使用 清除编译过程文件等).当使用 工具进行 编译时,工程中以下几种文件在执行make时将 编译时,工程中以下几种文件在执行 时将 会被编译(重新编译). 会被编译(重新编译).