c语言接口与实现
文章平均质量分 68
炼气士
低调学习中
展开
-
c语言接口与实现--原子atom章节例子程序的理解
以前听说过c语言有四书五经,同事推荐的《C语言接口与实现-创建可重用软件的技术》,刚接触就有点懵圈,作为菜鸟的看不懂,于是每一章节重复的看,代码一条条的过。对于第二章原子,目前只能做到了解皮毛,这里记录下来以备查阅和后续补充。源代码从博主Character_Painter的文章中扒过来的,如果有侵权请联系。附上链接http://blog.csdn.net/javagoingon/artic原创 2017-12-11 16:04:54 · 2091 阅读 · 0 评论 -
c语言接口与实现--内存管理章节理解,含实例
《c语言接口与实现–创建可重用软件技术》人邮版第5章–内存管理,本章节涉及到c语言的内存分配与回收,内存管理在c语言中尤为重要,如果处理不当,会造成内存泄漏甚至系统崩溃的严重问题。本章介绍了一种内存管理方法的实现。比较难懂,需要结合图形来理解。 书中给出了两个源码mem.c和memchk.c, mem.c为简单的实现,是一般的使用方式;memchk.c是本章的精髓,还是先上完整的代码,然后逐原创 2018-01-02 15:47:34 · 1176 阅读 · 1 评论 -
c语言接口与实现--再论内存管理含实例
本章开头指出上一章节描述的内存管理方法存在一些缺陷,比如不适合频繁创建和销毁内存的应用场景;所以在本章重新给出了另外一种设计思路。提出了内存池的概念,如果熟悉的小伙伴,还接触过线程池的概念。个人认为这一章节比前一章节更好理解。本书中的代码有个地方的设计容易让人误解,在头文件中代码如下#ifndef ARENA_INCLUDED#define ARENA_INCLUDED#incl原创 2018-01-04 13:54:44 · 615 阅读 · 1 评论 -
c语言接口与实现--第11章序列理解
本章中强调序列是本书中最有用的ADT(abstact data type)之一,尽管序列的规格相对简单,但可以用作数组、链表、栈、队列和双端队列,实现这些数据结构的ADT所需的设施通常都包含在序列中。前面这些基本是书中的原话,话不多说,上代码。 seq.h #ifndef SEQ_INCLUDED#define SEQ_INCLUDED#define T Seq_Ttyp原创 2018-01-24 09:58:14 · 1289 阅读 · 1 评论 -
c语言接口与实现--第12章环的理解
不知不觉看到了第12章,不过有点走马观花了,前面章节课后习题基本没做,样例要么设计的不好,要么没有设计;计划下一轮好好做做课后习题。到了现在基本上看已经学过的数据结构,感觉大同小异,基本思路几乎都离不开链表。本章介绍的是环,环与序列非常相似,包含N个值,关联到整数索引的0到N-1。空环不包含任何值。不同于序列,值可以添加到环的任意位置。环中的任意值都可以删除,环中的值也可以重新编号,即对应环的原创 2018-01-25 11:45:18 · 309 阅读 · 1 评论 -
c语言接口与实现--表,含原文实例
本章介绍表的结构、操作及应用,文章给出的例子用到了前章节的atom/except/mem,分别对应“原子”,“异常和断言”,“内存管理”章节。其中except在前面的章节中已经详细给出,并验证无问题。这里补充一下atom和mematom.h#ifndef ATOM_INCLUDED#define ATOM_INCLUDEDextern int Atom_length(const原创 2018-01-17 17:00:06 · 1009 阅读 · 0 评论 -
c语言接口与实现--异常与断言(异常部分)的理解,含实例
1、 这部分对于初学者(包括我)来说是不太好理解的,我断断续续的看了几天时间才基本把“异常部分”看懂,把我个人的理解写下来,一是记录,二是希望能帮助到有同样困惑的人。 2、个人觉得人邮出版社2011年9月第1版在本章节中存在翻译错误,指出来大家一起看看,也可能是我错了。 3、本章节异常的处理机制是基于setjmp 和longjmp实现的,所以大家需要对setjmp使用有了解,如果不清楚原创 2017-12-15 16:20:32 · 937 阅读 · 1 评论