读书笔记
文章平均质量分 78
插入光盘即可
这个作者很懒,什么都没留下…
展开
-
读书摘要——Linkers and Loaders
引子 几乎从有计算机以来,链接器和加载器就是软件开发工具包中的一部分,因为它们是允许使用模块而不是一个单独的大文件来构建程序的关键工具。由于链接是编译 过程中将整个程序的代码放在一起处理、并对程序作为一个整体施加影响的唯一阶段,因此链接器还将被加入更多的全局程序优化功能。 上世纪60年代早期,连接器就已经发展的相当完善了。 上世纪70到80年代,链接技术几乎没有什么进展。链接器原创 2007-02-09 21:27:00 · 2742 阅读 · 0 评论 -
读书摘要-The practice of programming
The practice of programming simplicity, clarity and generality form the bedrock of good software.Chp 1 Style The purpose of style is to make the code easy to read for yourself and others,1.1 N原创 2008-03-30 07:19:00 · 4409 阅读 · 0 评论 -
读书摘要-程序开发心理学
Chp 2 What makes a good program There are indications from other situations that it is not the meanlength of estimated time that annoys people but, rather, the standarddeviation in the actu原创 2008-04-02 07:39:00 · 2821 阅读 · 0 评论 -
读书摘要--Inside The C++ Object Model
Chp 1 关于对象 1.1 C++对象模式 每个类对应的type_info对象,通常由Vtable的第一个slot指向。 1.2 关键字所带来的差异 如果不是为了努力维持与C的兼容性,C++远可以比现在更简单些。 C++标准保证,同一个access section中的数据成员,其内存布局同其声明次序保持一致。 组合,而非继承,才是将C和C+原创 2008-04-05 12:14:00 · 2764 阅读 · 0 评论 -
读书摘要-Efficient C++ performance programming techniques
Chp 1 The Tracing war story 当你的代码规模超过几千行后,tracing就变得很必要了。 当在一个很小却被频繁调用的函数中加入tracing 机制时,如果不注意的话,tracing可能会成数量级的降低系统的性能。 在C++程序中,不必要的对象构造和销毁,会带来非常大的开销。 那些适合inline调用的函数,往往不适合当作traci原创 2008-04-06 11:23:00 · 3349 阅读 · 0 评论 -
《Pragmatic.Programmer》精华摘录
Chapter 1. A Pragmatic Philosophy Section 1 The Cat Ate My Source Code Tip 3 Provide Options, Dont Make Lame Excuses(不要为失误找借口) Section 2 Software Entropy(熵) Tip 4 Dont Li原创 2008-01-11 16:42:00 · 2091 阅读 · 0 评论 -
读书摘要:大规模C++程序设计
引言 与主流观点相反,从根本上说,最普通形式的面向对象程序要比对应的面向过程的程序更难测试和校验。通过虚函数改变内部行为的能力可能导致类不变式无效;而对于程序的正确性来说,类不变式是必要的。第一部分 基础知识 对符号名称的使用,而不是声明本身,导致一个未定义符号被引入到.o目标文件中。 typedef声明是的性质属于"internal linkage",尽管这个说法不原创 2008-04-13 04:18:00 · 5966 阅读 · 0 评论 -
读书摘要─Generic Programming and STL
注:这本书的精华在于第一部分的前五章对于STL中各种抽象概念的阐述,后面的内容过于具体了,基本可以当做实现STL的specs了,不是很适合普通用户一、STL巡礼 STL提供了一种新的程序设计思维,其中算法和抽象条件居于中心地位。二、算法和区间 Concept & Model 要实现任何线性查找,必须要解决如下问题: 如何表示要执行查找的目标序列?原创 2008-04-21 00:19:00 · 3078 阅读 · 0 评论 -
读书摘要-Why program fail(系统化调试指南)
Chp1 How Failure Comes to BeIn general, a failure comes about in the four stages discussed in the following. 1.The programmer creates a defect 2.The defect causes an infection. 3.The infectio原创 2008-06-07 09:34:00 · 3399 阅读 · 1 评论 -
读书摘要:C++ Standard Library, The: A Tutorial and Reference
C++ Standard Library, The: A Tutorial and ReferenceChap 2 Introduction to C++ and the Standard Library2.1 history string classes are designed as a safe and convenient component. Thus,they p原创 2008-03-17 21:15:00 · 4604 阅读 · 0 评论 -
读书摘要:C++ Template:The Complete Guide
Chapter 1 About This Book1.4 对于模板编程中const的使用,推荐使用 int const 而不是 const int 的风格Chapter 2. Function Templates2.1.2 Using the Template 函数模板要经过两遍编译: 第一遍(without instantiation):检查syntax error,例如‘;原创 2008-03-06 06:46:00 · 4449 阅读 · 1 评论 -
读书摘要—《Thinking in C++ 2rd:Vol 2》
第七章 异常处理 通过使用C++提供的异常处理机制: 1. 编写异常处理代码不再是一项枯燥的工作,而且不会与正常情况下的代码混在一起。 2. 程序运行时的错误不允许被忽略。 C++异常处理机制所提供的优势之一就是允许程序员将面临的任务集中在一个地点解决,而在另外一个地点处理可能出现的错误。 异常处理理论中存在两种基本模型:Terminati原创 2007-06-09 12:28:00 · 1243 阅读 · 0 评论 -
读书摘要—C缺陷与陷阱
第一章 词法"陷阱" 词法分析中的"贪心法":每一个词法符号应该包含尽可能多的字符。第二章 语法陷阱 复杂类型的声明 一旦我们知道了如何声明一个给定类型的变量,那么该类型的类型转换符就很容易得到了,只需把变量声明中的变量名和声明末尾的分号去掉,再将剩余的部分用一对括号整个"封装"起来即可。 若变量fp是函数指针,那么如何调用fp指向的函数原创 2007-02-09 21:01:00 · 1074 阅读 · 0 评论 -
读书摘要——《C FAQ》
2.2 64 位机上的64 位类型是什么样的? C99 标准定义了long long 类型,其长度可以保证至少64 位。 2.3 怎样定义和声明全局变量和函数最好? 最好是在某个相关的.c 文件中定义,然后在头文件(.h) 中进行外部声明在需原创 2007-01-26 17:14:00 · 1206 阅读 · 0 评论 -
读书摘要—C专家编程
第一章 穿越时空的迷雾1.2 C语言的早期体验 由于设计哲学的不同,C语言排斥强系统系统,它允许程序员需要时可以在不同类型的对象间赋值。 除了类型系统之外,C语言的许多其它特性时为了方便编译器设计者而建立的——毕竟开始几年C语言的主要用户就是那些编译器设计者。 基于编译器设计者的思路而发展形成的语言特性包括: 1).数组下标从0而不是1开始:编译器设原创 2007-01-29 11:34:00 · 1808 阅读 · 0 评论 -
《C陷阱与缺陷》价值所在(ZZ)
以下内容摘自Chian-pub上该书译者对网友评论的回复《C陷阱与缺陷》价值所在——兼答两位网友(上)高巍(w-gao@263.net)openlinux与flier两位网友对《C陷阱与缺陷》一书提出了个人的宝贵见解。对译者来说,读者应该是自己的老师和朋友,老师的指教与朋友的批评,自然值得聆听。openlinux网友认为该书“在书店翻了一下,感觉没什么深度,看这本书的人应该属于,刚读完《C语言程序原创 2007-04-24 17:40:00 · 1576 阅读 · 0 评论 -
读书摘要——《凌波微步-软件开发警戒案例集》
从硬盘中翻出来的,似乎是半年前读过此书,看了看自己当时做的摘要,感觉有些价值,就在blog上留个副本吧。p15. "将void,int,float等基本数据类型通过typedef重新命名,可以在最大程度上保证代码的可移植性——例如从16位程序至32位程序的移植问题即可通过此方法简单解决。 例如WIN32 SDK中大量出现的UINT ,DWORD等定义均属此列。 "p18. "匈牙利命名法原创 2007-04-24 17:31:00 · 2026 阅读 · 0 评论 -
读书摘要—C++:The Complete Reference
第二章 表达式 C++兼容C子集(目前为C89)中的5种基本数据类型:分别为char、int、float、double和void。 C++在此基础上又增加了bool和wchar_t这两种基本数据类型。 关于标准对于数据类型的规定,最重要的是要理解C和C++都仅规定了每种数据类型的最小表示范围,而不是它的字节长度。 C中标识符可以是任意长度,对于具备外部链接(exte原创 2007-05-04 14:22:00 · 2445 阅读 · 0 评论 -
读书摘要—C++编程思想第二版
第一章 对象的简介 汇编语言对底层机器进行了很小程度的抽象描述。在它之后出现的许多“指令式"(imperative)编程语言(例如Fortran,BASIC和C)则 是对汇编语言的抽象描述。与汇编语言相比,这些语言有巨大的进步;然而它们所提供的抽象依然要求程序员从计算机,而不是要解决的问题的角度来进行思考。 面向对象语言(OOP)允许程序员从问题而不是计算机的角度来思考。访问控制(原创 2007-05-10 20:38:00 · 2682 阅读 · 0 评论 -
《Thinking in Java 4th》1~13章读书摘要
java中,动态绑定是默认行为。 当组合(composition)动态发生时,通常被称为聚合。 single-rooted 对象层次使得GC的实现变得简单很多。 java只使用动态内存分配。 在语言级别支持并发所带来的特性之一就是程序员无须考虑物理上究竟是一个还是多个CPU。 脚本语言如(javascript)能解决客户端编程中80%的问题原创 2007-05-17 19:20:00 · 1633 阅读 · 0 评论 -
读书摘要-大话设计模式
第二章 策略模式 策略模式与简单工厂(Factory Method)的结合: 在基本的策略模式中,选择所使用的具体策略实现的职责由客户端用户承担,这并没有解除客户端需要选择判断的压力;将策略模式与简单工厂模式结合后(在 Context类中加入Factory Method的特性),选择具体实现的职责也由Context来承担,这样最大化的减轻了客户端的负担。第四章 开放封闭原则原创 2008-06-10 01:49:00 · 3090 阅读 · 0 评论