- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
 - 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
 - 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
 - 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
 - 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
 - 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
 - 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
 
                        查看更多
                        
                    
                重建程序 在程序开发中, 我们很少需要编译所有的文件. 为了节省时间, 再造过程应该只编译那些被最近的修改所影响的文件. 假设一个程序被设计为每个源文件带一个头文件. 在修改之后,要看有多少文件需要重新编译,我们需要考虑两种可能. Copyright ? 2008 W. W. Norton  Company. All rights reserved. * 重建程序 如果变化影响了一个单独的源文件, 只有那个文件必须被重新编译. 假设我们决定精简word.c中的read_char 函数: 	int read_char(void) 	{ 	  int ch = getchar(); 	? 	  return (ch == \n || ch == \t) ?   : ch; 	} 这个修改不影响 word.h, 因此我们只需重新编译 word.c并再连接程序. Copyright ? 2008 W. W. Norton  Company. All rights reserved. * 重建程序 第二种可能是变化影响了头文件. 对于这种情形, 我们应该重新编译所有的包含该头文件的文件, 因为它们可能受到潜在的影响. Copyright ? 2008 W. W. Norton  Company. All rights reserved. * 重建程序 假设我们修改 read_word,使得它返回所读单词的长度. 首先, 我们改变word.h 中的read_word的原型 : /**********************************************************  * read_word: Reads the next word from the input and      *  *            stores it in word. Makes word empty if no   *  *            word could be read because of end-of-file.  *  *            Truncates the word if its length exceeds    *  *            len. Returns the number of characters       *  *            stored.                                     *  **********************************************************/ int read_word(char *word, int len); Copyright ? 2008 W. W. Norton  Company. All rights reserved. * 重建程序 然后, 我们修改read_word的定义: 	int read_word(char *word, int len) 	{ 	  int ch, pos = 0; 	? 	  while ((ch = read_char()) ==  ) 	    ; 	  while (ch !=    ch != EOF) { 	    if (pos  len) 	      word[pos++] = ch; 	    ch = read_char(); 	  } 	  word[pos] = \0; 	  return pos; 	} Copyright ? 2008 W. W. Norton  Company. All rights reserved. * 重建程序 最后, 我们修改justify.c ,删除对string.h 的包含,并修改主函数: 	int main(void) 	{ 	  char word[MAX_WORD_LEN+2]; 	  int word_len; 	? 	  clear_line(); 	  for (;;) { 	    word_len = read_word(word, MAX_WORD_LEN+1); 	    … 	  } 	} Copyright ? 2008 W. W. Norton  Company. All rights reserved. * 重建程序 一旦我们做了这些改变, 我们将重新建造 justify:重新编译word.c 和justify.c 后再连接. 再造程序的 GCC 命令: 	gcc -o justify justify.c word.c line.o Copyright ? 2008 W. W. Norton  Company. All rights r
                您可能关注的文档
- 2103(第三届)河北人力资源管理创新论坛暨鼎信智业成立七周年庆典精彩回顾.ppt
 - 20130101城市加盟合作手册.ppt
 - 20140227-鲅鱼圈温泉会所调研报告.pptx
 - 12947745986843750020110330第4章-信息管理的手段-第5章-信息系统建设--类型与结构.ppt
 - adel酒店门锁方案.ppt
 - ae理-培训-人力资源-激励-激励(极力推荐)(1).ppt
 - aif-麦肯锡广电--岗位描述手册.ppt
 - b05025-可口可乐人力资源管理技巧销售技巧-1306-a-(selling-training).ppt
 - bepc-erp系统hr组培训讲义-薪资与财务集成管理.ppt
 - bot融资建设模式.ppt
 
最近下载
- 高二化学选择性必修三知识点 .pdf
 - 图形创意(第二版)林家阳 高教 全套课件.pdf VIP
 - 社区网格员安全培训课件.ppt VIP
 - 浅谈水体富营养化治理的国内外研究现状.pdf VIP
 - 公共管理研究方法(浙大)大学MOOC慕课 客观题答案.docx VIP
 - “十五五”档案战略规划与发展方向.docx VIP
 - 《创新创业基础——理论、案例与训练》 第七章 选择商业模式.pptx VIP
 - 国际快递实务 出境快件的检验检疫 PPT-海关快件监管流程.pptx VIP
 - 《老年人心理护理》精品课件——项目二 老年人认知变化及其应对.pptx
 - 一种硫化镉-硫铟锌异质结纳米棒阵列复合材料及其制备方法.pdf VIP
 
原创力文档
                        

文档评论(0)