《C语言接口与实现:创建可重用软件的技术》,原名《CInterfacesandImplementations:TechniquesforCreatingReusableSoftware》,作者:【美】DavidR.Hanson,翻译:傅蓉周鹏张昆琪权威,出版社:机械工业出版社,ISBN:7111130057,PDF格式,大小10MB。
内容简介:本书概念清晰、内容新颖、实例详尽,是一本有关设计、实现和有效使用c语言库函数,掌握创建可重用c语言软件模块技术的参考指南。
本书倡导基于接口的c语言设计理念及其实现技术,深入详细地描述了24个c语言接口及其实现。
  本书通过叙述如何用一种与语言无关的方法将接口的设计与实现独立开来,从而形成一种基于接口的设计途径来创建可重用的api,本书是一本针对c语言程序员的不可多得的好书,也是值得所有希望掌握可重用软件模块技术的读者阅读的参考书籍。
  关于如何设计、实现和有效使用库函数的指南少之又少(如果说还有的话)。
这本力作填补了这个空白。
它可以作为下一代软件的工具书.所有的c语言程序员都应该阅读。
  ——w.richardstevens  “我向每位专业c语言程序员推荐这本书。
c语言程序员们忽视书中所描述的各种技术已经太长时间了。
”  ——normanramsey,贝尔实验室研究员每一位程序员和软件项目经理必须掌握创建可重用软件模块的技术:可重用软件模块是构建大规模、可靠应用的基石。
与当前某些面向对象语言不同,c语言为创建可重用应用程序接口(applicationprogramminginterface,api)提供的语言和功能支持非常少。
尽管大多数c语言程序员在自己所编写的每一个应用程序中都使用api和实现api的库.但只有相当少的程序员可以创建和发布新的、可广泛使用的api。
本书阐述了如何用一种与语言无关的方法将接口的设计与实现独立开来,从而形成一种基于接口的设计途径来创建可重用的api。
书中提供大量实例具体说明这种方法。
作者详细描述了24个接口和它们的实现细节,有助于读者对这种设计方法的透彻理解。
本书具有如下特色:简洁明了的接口描述。
为对接口设计感兴趣的程序员提供了一个参考手册每一章接口的代码实现分析将帮助读者修改、扩充一个接口,或者设计相关接口深入探讨了“算法工程”:阐述如何将数据结构以及相关算法打包到可重用模块中24个api和8个实例程序的源代码都经过测试检查,每个程序都是按照”literate程序”的形式构成。
为源代码提供了全面完整的解释提供了非常少见的有关c语言编程技巧的文档记录可以方便地在http://www.cs.princeton.edu/software/cii/访问本书的所有源码目录:出版者的话专家指导委员会译者序前言第1章简介11.1literate程序21.2编程风格61.3效率7参考书目浅析9练习9第2章接口与实现112.1接口112.2实现132.3抽象数据类型152.4客户调用程序的责任172.5效率21参考书目浅析21练习22第3章原子253.1接口25.3.2实现26参考书目浅析31练习31第4章异常与断言334.1接口344.2实现384.3断言43参考书目浅析46练习46第5章内存管理495.1接口505.2产品级实现535.3校验实现55参考书目浅析62练习62第6章进一步内存管理656.1接口656.2实现67参考书目浅析72练习73第7章链表757.1接口757.2实现78参考书目浅析83练习83第8章表格858.1接口858.2例子:单词频率878.3实现92参考书目浅析98练习98第9章集合1019.1接口1019.2实例:交叉引用列表1039.3实现1099.3.1成员操作1109.3.2集合操作113参考书目浅析116练习116第10章动态数组11910.1接口11910.2实现122参考书目浅析124练习125第11章序列12711.1接口12711.2实现128参考书目浅析133练习133第12章环13512.1接口13512.2实现1
1
项目源码是针对Android客户端上电子商务平台的一个开发。
该项目主要分为5个模块,商品信息(包括商品信息查询、商品详细信息等),购物车(没有数据交互功能JSON)用户信息管理(包括我的订单,我的收藏,添加地址信息,我的优惠劵,修改密码)更多(关于商户,商户服务,400热线电话等关于商家的信息)个人觉得,该android项目对android初学者在多个activity之间的通信,及android相对布局,线性布局以及线程,toast等诸多知识点都有很大帮助,理清开发思路。
同时希望各位高手积极分享自己练习的demo
2023/7/11 10:27:49 896KB 电子商务 源代码 android
1
5.1试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。
5.2编写程序,从键盘接收一个小写字母,然后找出它的前导字符和后续字符,再按顺序输出5.3将AX寄存器中的16位数分成4组,每组4位,然后把这四组数分别放在AL、BL、CL、DL中。
5.4试编写一程序,要求比较两个字符串STRING1和STRING2所含字符是否相同,若相同则显示‘MATCH’,若不相同则显示‘NOTMATCH’。
5.5试编写一程序,要求能从键盘接收一个个位数N,然后响铃N次。
5.6编写程序,将一个包含有20个数据的数组M分成两个数组:正数数组P和负数数组N,并分别把这两个数组中的数据的个数显示出来。
5.7试编制一个汇编语言程序,求出首地址为DATA的100D字数组中的最小偶数,并把它放在AX中。
5.8把AX中存放的16位二进制数K看作是8个二进制的“四分之一字节”。
试编写一个程序,要求数一下值为3(即11B)的四分之一字节数,并将该数在终端上显示出来。
5.9试编写一汇编语言程序,要求从键盘接收一个四位的十六进制数,并在终端上显示与它等值的二进制数。
5.10设有一段英文,其字符变量名为ENG,并以$字符结束。
试编写一程序,查对单词SUN在该文中的出现次数,并以格式”SUNXXXX“显示出次数。
5.11从键盘输入一系列以$为结束的字符串,然后对其中的非数字字符进行计数,并显示出计数结果。
5.12有一个首地址为MEM的100D字数组,试编制程序删除数组中所有为零的项,并将后续项向前压缩,最后将数组的剩余部分补上零。
5.13在STRING到STRING+99单元中存放着一个字符串,试编制一程序测试该字符串中是否存在数字,如有,则把CL的第五位置1,否则置0.5.14在首地址为TABLE的数组中按递增次序存放着100H个16位补码数,试编写一个程序把出现次数最多的数及其出现的次数分别放在AX和CX中。
5.15数据段中已定义了一个有N个字数据的数组M,试编写一程序求出M中绝对值最大的数,把它放在数据段的M+2n单元中,并将该数的偏移地址存放在M+2(n+1)单元中。
5.16在首地址为DATA的字数组中,存放了100H个16位补码数,试编写一个程序求出它们的平均值放在AX寄存器中;
并求出数组中有多少个数小于此平均值,将结果放在BX寄存器中。
5.17试编写一个程序,把AX中的十六进制数转换为ASCII码,并将对应的ASCII码依次存放到MEM数组中的四个字节中,例如:当(AX)=2A49H时,程序执行完后,MEM中的4个字节的内容为39H,34H,41H和32H。
5.18把0~100D之间的30个数存入以GRADE为首地址的30个字数组中,GRADE+i表示学号i+1的学生的成绩。
另一个数组RANK为30个学生的名次表,其中RANK+i的内容是学号为i+1的学生的名次。
编写一程序,根据GRADE中的学生成绩,将学生名次填入RANK数组中。
5.19已知数组A包含15个互不相等的整数,试编写一程序,把既在A中又在B中出现的整数存在于数组中C中。
5.20设在A,B和C单元中存放着三个数,若三个数都不是0,则求出三树之和并存放于D单元中;
其中有一个数为0,则把其他两个数也清零。
试编写此程序。
2023/7/10 11:09:03 174KB 汇编语言 实验报告 练习题目
1
工具idea,springboot小练习,多指教
2023/7/10 6:56:13 165KB springBoot
1
本文档包括2018年华为软赛初赛练习数据,数据预处理,以及用ARMA模型的MATLAB实现
2023/7/10 0:52:47 34KB 华为软赛
1
MLDN李新华老师JavaWeb基础篇课后习题答案,JavaWeb高级案例篇全部源码。
这套源码从最基本的JSP页面到Model1到Model2,文件上传,EL,JSTL,Ajax,Structs,一点一点的修改讲解。
最后形成一个完整的案例,比较经典。
喜欢的朋友可以下载。
以下是压缩文件的内容:第二章.HTML,JavaScript简介:1,2题第三章.XML简介:1,2,3题第五章.JSP基础语法:1,2题第六章.JSP内置对象:1,2,3,4,5,6题+系统整合第七章.JavaBean:1,2,3,4,5,6题第八章.文件上传:1,2题第九章.Servlet程序开发:1,2,3,3(扩充)题第十章.表达式语言(EL):1,2题第十三章.JSP标准标签库(JSTL):1题第十四章.Ajax开发技术:1,2,3,4题第十五章.Structs基础开发:1题第十六章.Structs常用标签:1题
2023/7/9 12:56:58 25.1MB Java web 经典 李兴华
1
适合新手练习文件上传命令
2023/7/9 4:43:49 652KB 文件上传 upload
1
1.DIV+CSS页面布局2.三层结构.本来还想再练习一个工厂模式的,但我自己还没有搞清,所以在下个版本再试试.3.基于代码生成的快速开发,前后大约一周时间.包括介面设计,程序设计,数据库设计,编码等.4.还有什么?大概就是asp.net开发的典型应用了.基本全是控件的应用.5.希望能给初学者一点帮助.我也是初学:)6.项目是VS2008+SQL20057.文章发布用了FCKeditor.8.把数据访问,提示框等很多功能都封装成DLL了,部分源码直接用得是李天平大哥滴.生成器当然了是他滴.下一版本会把所有源码放进来.很多操作都在后台进行了,我觉得速度还是很快滴.9,封装了上传文件,大家可以拿着用.我觉得还蛮好.不过还是有些小问题.
2023/7/8 13:18:23 4.15MB 博客
1
vce模拟器+vce格式的题库,直接运行文件夹中的play.exe,然后打开文件夹中.vce结尾的题库文件,start即可开始模拟练题。
2019年4月最新题库,笔者考试的时候题库命中率百分之99,用模拟器练习了几次就过了。
2023/7/7 2:36:50 5.53MB sap aws 题库模拟器
1
一个Linux/Unix环境模拟软件初学者可以用它来做Linux/Unix系统的操作练习
2023/7/7 0:44:55 297KB Linux Unix 环境模拟软件
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡