自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Smile&搁浅

知识的积累,只需每天进步一点点!

  • 博客(26)
  • 资源 (12)
  • 收藏
  • 关注

原创 Google之文件系统GFS

Google文件系统GFSGoogle文件系统(Google File System,GFS)是一个大型的分布式文件系统。它为Google云计算提供海量存储,并且与Chubby、MapReduce以及Bigtable等技术结合十分紧密,处于所有核心技术的底层。由于GFS并不是一个开源的系统,我们仅仅能从Google公布的技术文档来获得一点了解,而无法进行深入的研究。当前

2015-08-17 21:28:58 9754

转载 解密谷歌的大数据技术

解密谷歌的大数据技术  毫不夸张的说,google就是大数据时代的开拓者,google的大数据技术架构一直都是全球互联网企业争相学习和研究的重点,也为行业大数据技术的架构树立起了标杆。  下面就为大家解密google大数据技术架构:  一、谷歌的数据中心  谷歌目前建设了世界上最快最大的数据中心,这八个数据中心都距离加

2015-08-17 21:21:40 6826

原创 Google之大规模分布式系统的监控基础架构Dapper

[说明:本文是阅读Google论文“Dapper, a Large-Scale Distributed Systems Tracing Infrastructure”之后的一个简要总结,完整译文可参考此处。 另论文“Uncertainty in Aggregate Estimates from Sampled Distributed Traces”中有关于采样的更详细分析。此外,Twitt

2015-08-17 21:14:02 6256

原创 Google之海量数据的交互式分析工具Dremel

Google Dremel 原理简介Dremel 是Google 的“交互式”数据分析系统。可以组建成规模上千的集群,处理PB级别的数据。MapReduce处理一个数据,需要分钟级的时间。作为MapReduce的发起人,Google开发了Dremel将处理时间缩短到秒级,作为MapReduce的有力补充。Dremel作为Google BigQuery的report引擎,

2015-08-17 21:09:09 3151

原创 分布式锁服务Chubby之paxos算法

分布式锁服务Chubby之paxos算法在分布式系统设计领域,Paxos可谓是最重要一致性的算法。Google的大牛们称All working protocols for asynchronous consensus we have so far encountered have Paxos at their core.可见此算法的地位。网络上讨论此算法

2015-08-15 09:44:43 2520 1

原创 谷歌三大核心技术(一)Google File System中文版

摘要我们设计并实现了Google GFS文件系统,一个面向大规模数据密集型应用的、可伸缩的分布式文件系统。GFS虽然运行在廉价的普遍硬件设备上,但是它依然了提供灾难冗余的能力,为大量客户机提供了高性能的服务。虽然GFS的设计目标与许多传统的分布式文件系统有很多相同之处,但是,我们的设计还是以我们对自己的应用的负载情况和技术环境的分析为基础 的,不管现在还是将来,GFS和早期的分布式文件系统的设想都有

2015-08-14 19:17:54 1254

原创 第一章 绪论

第一章 绪论1.1 云计算的概念1.定义: 云计算是一种商业计算模型。它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。2.特点: 超大规模 虚拟化 高可靠性 通用性 高可伸缩性 按需服务 极其廉价3.云计算服务类型1.2 云计算的发展状况1.亚马逊  研发了弹性计算云EC2(Ela

2015-08-14 10:56:15 649

原创 第十一章 I/O设备和磁盘管理

11.1 I/O设备11.2 I/O功能的组织11.3 操作系统设计问题11.4 I/O缓冲11.5 磁盘调度11.6 RAID11.7 磁盘高速缓存

2015-08-13 22:09:27 757

原创 第12章 文件管理

第12章 文件管理12.1文件系统基础12.1.1文件的概念计算机以进程为基本单位进行资源的调度和分配;而在用户进行的输入、输出中,则以文件为基本单位。大多数应用程序的输入都是通过文件来实现的,其输出也都保存在文件中,以便信息的长期存储及将来的访问。当用户将文件用于应用程序的输入、输出时,还希望可以访问文件、修改文件和保存文件等,实现对文件的维护管理,这就需要系统提供一个文件管理系统。用户通过文件系

2015-08-13 20:00:35 1183

原创 第十章 多处理器和实时调度

一、多处理器调度1、多处理器系统分类松耦合、分布式多处理器、集群 由一系列相对自治的系统组成,每个处理器有自己的内存和I/O通道。专门功能的处理器 有一个通用的主处理器,专用处理器受主处理器的控制,并给主处理器提供服务。紧耦合多处理 由一系列共享同一个内存并在操作系统完全控制下的处理器组成。2、粒度(同步粒度和进程)3、设计问题把进程分配到处理器静态分配、动态分配 主从式、对等式在单个处理器

2015-08-12 20:38:57 3199

原创 C语言实现多级反馈队列调度算法

C语言实现多级反馈队列调度算法 #include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct node /*进程节点信息*/ { char name[20]; /*进程的名字*/ int prio; /*进程的优先级*/ int round; /*分配CPU的时间片*

2015-08-12 16:05:37 12794 8

原创 C++实现操作系统调度算法(FSFS,SJF,RR,多级反馈队列算法)

C++实现操作系统调度算法(FSFS,SJF,RR,多级反馈队列算法)#include<iostream>#include<queue>#include<list>#include<windows.h>using namespace std;unsigned int q_id=0; //用于队列进程号的全局变量unsigned int l_id=0;

2015-08-12 16:02:53 6855

原创 多级反馈队列调度算法

多级反馈队列调度算法是一种CPU处理机调度算法,UNIX操作系统采取的便是这种调度算法。  多级反馈队列调度算法即能使高优先级的作业得到响应又能使短作业(进程)迅速完成。(对比一下FCFS与高优先响应比调度算法的缺陷)。  多级(假设为N级)反馈队列调度算法可以如下原理:  1、设有N个队列(Q1,Q2….QN),其中各个队列对于处理机的优先级是不一样的,也就是说位于各个队列中的作业(进程)的优先级

2015-08-12 15:59:20 33571 6

原创 第九章 单处理器调度

在多道程序设计系统中,内存中有多个进程。每个进程或者正在处理器上运行,或者正在等待某些事件的发生,比如IO完成。处理器通过执行某个进程而保持忙状态,而此时其他进程处于等待状态。一、处理器调度的类型处理器调度的目标是以满足系统目标(如响应时间、吞吐率、处理器小雷)的方式,把进程分配到一个或多个处理器中执行。在许多系统中,这个调度活动分成三个独立功能:长程、中程和短程调度。他们的名字表明在执行这些功能时

2015-08-12 11:26:48 2033

原创 第六章 并发:死锁与饥饿

一、死锁 定义:一组相互竞争系统资源或进行通信的进程由于某种原因处于“永久”阻塞状态,不可解的循环等待。 一组进程中,每个进程都无限等待被该组进程中另一进程所占有的资源,因而永远无法得到的资源,这种现象称为进程死锁,这一组进程就称为死锁进程 。资源的使用方式: “申请–分配–使用–释放”模式可重用资源:可被多个进程多次使用 可抢占资源与不可抢占资源 处理器、I/O部件、内存、文件

2015-08-11 22:37:38 625

原创 第七章 内存管理

在单道程序设计系统中,内存被划分成两个部分:一部分供操作系统使用(驻留监控程序、内核),一部分供当前正在执行的程序使用。在多道程序设计系统中,必须在内存中进一步细分出“用户”部分,以满足多个进程的要求。细分的任务由操作系统动态完成,这称为内存管理。有效的内存管理在多道程序设计系统中是至关重要的。如果只有少量进程在内存中,所有进程大部分时间都用来等待IO,这种情况下,处理器也处于空闲状态。因此,必须有

2015-08-11 22:27:03 944

原创 第八章 虚拟内存

一、虚拟内存基本概念1.局部性原理(1)时间局部性: 程序中的某条指令一旦运行,不久以后该指令可能再次运行。产生时间局部性的典型原因是由于程序中存在着大量的循环操作。(2)空间局部性: 一旦程序访问了某个存储单元,不久以后其附近的存储单元也将被访问,其典型情况是程序顺序运行。2.虚拟内存基于局部性原理,应用程序在运行之前并不必全部装入内存,仅需将当前运行到的那部分程序和数据装入内存便可启动程序的运行

2015-08-11 22:24:42 714

原创 awk命令

简介awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本。awk其名称得自于它的创始人 Alfred Aho 、Peter

2015-08-06 10:12:47 388

原创 linux之sed用法

linux之sed用法sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法 sed命令行格式为: sed 【参数】 【语法】【文件名】 常用参数: -n∶使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到萤幕上。但

2015-08-06 10:04:05 375

原创 makefile 中 $@ $^ %< 使用

这篇文章介绍在LINUX下进行C语言编程所需要的基础知识。在这篇文章当中,我们将会学到以下内容:源程序编译Makefile的编写程序库的链接程序的调试头文件和系统求助1.源程序的编译在Linux下面,如果要编译一个C语言源程序,我们要使用GNU的gcc编译器。 下面我们以一个实例来说明如何使用gcc编译器。假设我们有下面一个非常简单的源程序(hello.c):int main(int argc,ch

2015-08-04 12:24:50 486

原创 makefile中的自动化变量$@,$%,$

makefile中的自动化变量$*自动化变量 模式规则中,规则的目标和依赖文件名代表了一类文件名;规则的命令是对所有这一类文件重建过程的描述,显然,在命令中不能出现具体的文件名,否则模式规则失去意义。那么在模式规则的命令行中该如何表示文件,将是本小节的讨论的重点。 假如你需要书写一个将.c 文件编译到.o 文件的模式规则,那么你该如何为gcc 书写正确的源文件名?当然了,不能使用任何具体的文件名,因

2015-08-04 11:54:29 672

原创 linux grep命令

linux grep命令 1.作用 Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。2.格式 grep [options]3.主要参数 [options]主要参数: -c:只输出匹配行的计数。 -I:不区分

2015-08-02 10:50:43 464

原创 wc命令

Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数、字数、行数,并将统计结果显示输出。 1.命令格式: wc [选项]文件… 2.命令功能: 统计指定文件中的字节数、字数、行数,并将统计结果显示输出。该命令统计指定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所指定文件的总统计数。 3.命令参数: -c 统计字节数。 -l

2015-08-02 10:41:18 397

原创 linux下echo命令

linux的echo命令, 在shell编程中极为常用, 在终端下打印变量value的时候也是常常用到的, 因此有必要了解下echo的用法echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。 该命令的一般格式为: echo [ -n ] 字符串 其中选项n表示输出文字后不换行;字符串能加引号,也能不加引号。用echo命令输出加引号的字符串时,将字符串原样输出;用echo命令输出不

2015-08-02 10:13:53 428

原创 winscp和putty提取固件教程

winscp和putty提取固件教程整个flash的内容用下面的方法取出:1、登录路由 2、切换到tmp目录, 3、使用dd命令备份uboot、firmware(这个就是你刷的那个固件)、art/board_config, 4、使用cat命令将文件合并,假设新文件名为xxx.bin(这个就是编程器用的固件) 5、使用WinSCP将文件复制到电脑 root@hiwifi:~# cd /tmp

2015-08-01 18:17:28 4618

原创 WinSCP和PuTTY在刷openwrt固件的使用教程

【openwrt必备工具】WinSCP和PuTTY的搭配与使用PuTTY和WinSCP是管理OpenWRT固件的路由器必备工具。WinSCP的优势在于支持多语言、可在图形化界面下管理Linux系统里的文件和存储多个会话设置以方便多设备多用户登录。PuTTY的优势在于提供与Linux终端一样的命令行控制界面。所以,一般可先用WinSCP登录,管理文件,在必要的时候,调出PuTTY输入终端命令,实现优势

2015-08-01 18:14:12 27370

惠普打印机驱动(LaserJet_1010_1012_1015)

惠普打印机驱动,支持型号为:LaserJet_1010_1012_1015

2016-11-03

STL源码讲解文档

身为C++标准库最重要的组成部分,STL(标准范本库)不仅是一个可复用元件库,而且是一个包罗演算法与资料结构的软体框架(framework)。“框架”这个词,本身就有庞大、稳定、完整而可扩展的涵义。软体框架,则是用一行行精细准确的源码,构造一个庞大、稳定、完整而可扩展的软体架构,稍有软体发展经验的人都知道,要做到这些,谈何容易! STL在1994年走入C++标准,使得原本即将推出的C++标准延迟4年问世而无怨无悔,并为之对内容做巨幅改进,而今STL不仅为千千万万C++程式师所日常运用,而且获得极高的学术赞誉,成为了一个典范,一种境界。作为一个软体框架,STL所取得的成功,实在可以用“辉煌”来形容,其所内涵的软体思想和技术经验,更是无比的深厚与精致。 学习编程的人都知道,阅读剖析名家代码乃是提高水准的捷径。源码之前,了无秘密,大师们的缜密思维,经验结晶,技术思路,独到风格,都原原本本地体现在源码之中。在你仔细推敲之中,迷惑不解之时,恍然大悟之际,你的经验、思维、视野、知识乃至技术品味都会获得快速的成长。特别是面对STL这样优秀而普遍的作品,无论你是为了满足作为程式师第二天性的求知欲,还是在日常工作中解决实际问题,总会有一天,你会打开一个叫做<vector>或者<algorithm>的表头档,想把STL背後的秘密看个究竟。英文 有一个常用短语,叫做“under the hood”,钻进魔术师的帐篷,屏住呼吸,瞪大眼睛,把那些奇妙的魔法看个通透,让自己的理解和技艺获得巨幅的提升,这种诱惑,任何一个程式师都无法抵挡! 不过,想要研读STL源码,绝对没有那麽简单。STL是精致的软体框架,是为优化效率而无所不用其极的艺术品,是资料结构与演算法大师经年累月的智慧结晶,是泛型思想的光辉诗篇,是C++高级技术的精彩亮相,这些灿烂的赞誉,体现在数万行源码 ,对於一个初涉此道的学习者来说,就是一个感觉:“难!”。无论你是会浅尝辄止地退出这次探险,还是勇敢地向浓雾中前进,当你受困於STL精致的大网之中,为那些迷一般的结构和动作感到茫然无措的时候,所有人都会冒出一个念头:“如果有这样一本书,既能够提纲挈领,为我理顺思绪,指引方向,同时又能够照顾小节,阐述细微,帮助我更快更好地理解STL源码,那该有多好!”

2016-06-05

STL源码剖析 候捷配套

身为C++标准库最重要的组成部分,STL(标准范本库)不仅是一个可复用元件库,而且是一个包罗演算法与资料结构的软体框架(framework)。“框架”这个词,本身就有庞大、稳定、完整而可扩展的涵义。软体框架,则是用一行行精细准确的源码,构造一个庞大、稳定、完整而可扩展的软体架构,稍有软体发展经验的人都知道,要做到这些,谈何容易! STL在1994年走入C++标准,使得原本即将推出的C++标准延迟4年问世而无怨无悔,并为之对内容做巨幅改进,而今STL不仅为千千万万C++程式师所日常运用,而且获得极高的学术赞誉,成为了一个典范,一种境界。作为一个软体框架,STL所取得的成功,实在可以用“辉煌”来形容,其所内涵的软体思想和技术经验,更是无比的深厚与精致。 学习编程的人都知道,阅读剖析名家代码乃是提高水准的捷径。源码之前,了无秘密,大师们的缜密思维,经验结晶,技术思路,独到风格,都原原本本地体现在源码之中。在你仔细推敲之中,迷惑不解之时,恍然大悟之际,你的经验、思维、视野、知识乃至技术品味都会获得快速的成长。特别是面对STL这样优秀而普遍的作品,无论你是为了满足作为程式师第二天性的求知欲,还是在日常工作中解决实际问题,总会有一天,你会打开一个叫做<vector>或者<algorithm>的表头档,想把STL背後的秘密看个究竟。英文 有一个常用短语,叫做“under the hood”,钻进魔术师的帐篷,屏住呼吸,瞪大眼睛,把那些奇妙的魔法看个通透,让自己的理解和技艺获得巨幅的提升,这种诱惑,任何一个程式师都无法抵挡! 不过,想要研读STL源码,绝对没有那麽简单。STL是精致的软体框架,是为优化效率而无所不用其极的艺术品,是资料结构与演算法大师经年累月的智慧结晶,是泛型思想的光辉诗篇,是C++高级技术的精彩亮相,这些灿烂的赞誉,体现在数万行源码 ,对於一个初涉此道的学习者来说,就是一个感觉:“难!”。无论你是会浅尝辄止地退出这次探险,还是勇敢地向浓雾中前进,当你受困於STL精致的大网之中,为那些迷一般的结构和动作感到茫然无措的时候,所有人都会冒出一个念头:“如果有这样一本书,既能够提纲挈领,为我理顺思绪,指引方向,同时又能够照顾小节,阐述细微,帮助我更快更好地理解STL源码,那该有多好!” 望着长长的STL着作列表,一个“真正”的C++程式师,多少会有一点遗憾。自从STL问世以来,出版了大量的书籍,帮助读者了解它的思想,学习它的用法,掌握它的技巧。其中佼佼者如Matt Austern的《Generic Programming and STL》,Nicolai Josuttis的《The C++ Standard Library》,Scott Meyers的《Effective STL》,已成C++经典名着。然而,定位在引导学习者进行STL源码分析的着作,可以说是凤毛麟角。毕竟,既要能高屋建瓴,剖析大架构,不为纷繁琐碎之细节而迷乱,又能具体而微,体现细致之处的精妙缜密,不因为宏大体系而失之粗略,无论对於专家高手还是技术作者,都是太难达到的目标。 读了这本《STL源码剖析》之後,我认为,这个遗憾终於被补足了! 本书的作者侯捷先生是蜚声海峡两岸的着名IT技术作家,在C++,Windows系统原理,泛型理论和STL等技术领域有极深的造诣。然而,侯捷最令人称道之处,乃是他剖析大架构的能力。所谓剖析大架构,就是要在洋洋洒洒数以万行计的源码中,精准定位,抽取核心观念,高屋建瓴,纲举目张,将看上去乱麻一般的源码梳理得头绪清晰,条理分明,同时又照顾细节,叁透精微,把一个个关键动作阐述得通通透透,这种能力,我以为至少在华人技术作者中,侯捷堪执牛耳。在他的名作《深入浅出MFC》中,侯捷将自己这方面的能力展现得淋漓尽致,而在这本《STL源码剖析》中,我们又看到了一次更加精彩的表现。 我有机会作为大陆最早的几个读者之一,详细拜读了侯捷的这本最新STL专着,感到了一种强烈的技术冲动,说得俗一点,就是觉得很过瘾!具体来说,我以为这本书至少有四大特点,使它成为我所见过的最出色的一本STL源码剖析类着作。 首先,选材精当,立足高远。STL是一个标准,因而有各种实作版本。本书所剖析的SGI STL,可以说是设计最巧妙,思想最深刻,获得赞誉最盛,认同最广的STL实作。当然,这份出自STL之父Alex Stepanov,以及Matt Austern,David Musser等巨匠之手的经典作品,剖析阐述起来自然也需要花费更大的心力。侯捷籍其扎实的理论与技术素养,毅然选择这份作品来剖析,是需要极大勇气与自信的。同样,本书对读者的预期,也是很高的,不但要有扎实的基本功,更要有掌握STL的兴趣与坚韧意志。读这本书,你可以有充分的信心,学到的是超一流大师的思想和经验,所谓名门正派,高屋建瓴。 其次,脉络清晰,组织顺序匠心独具。任何人打算系统阅读STL源码,所必须作出的第一个决定就是,从何处开始?我在初读此书时,一个最疑惑的地方就是侯捷居然把allocator放在所有组件之前讲述。要知道,allocator这个东西,对一般的使用者完全透明,根本感觉不到其存在,以至於在名着《The C++ Standard Libaray》中,Nicolai Josuttis将这一部分放在全书最後。既然如此,又何必让这个无名小卒占据头版头条?我一开始还真是不理解。直到後来,我自己有一些扩展STL的实践,才发现,用的时候你固然可以对allocator不闻不问,但一旦要领悟STL的工作原理,或者要自己扩展STL的功能,则对於allocator的掌握几乎是第一先决条件。不了解allocator,则无论剖析也好,扩展也罢,必然处处碰壁。侯捷毫不迟疑首先帮读者搬开这块绊脚石,理出头绪,实在是匠心独具。紧接着的第三章iterator及traits,直入STL的核心观念与关键技术,剑走中锋,直取要害,高举高打,开诚布公,直接把理解STL的钥匙交道读者手上。此章一过,读者神气完足,就可以大刀阔斧地打通STL的重重关隘。此布局只要稍有变化,读者的学习难度势必猛增。侯捷的此种安排,实在是大家手笔! 此外,本书在技术上迎难而上,详略得当,完整而重点突出。了解SGI STL的读者都知道,这份作品对C++标准中的STL做了大量的扩充,增加了专用的高效allocator,用以操作巨型字串的rope,单链表slist,以及万众企盼的hash容器等等,再加上STL本身就有很多精微之处,技术上的难点不少。此类书籍的作者,但凡稍有一丝懈怠之心,大可以冠冕堂皇地避重就轻。然而侯捷在此书中对重点难点毫不避讳,无论是标准功能还是非标准功能,只要对读者理解STL架构有益,只要有助於提高读者的技术,增长读者的视野与经验,书中必然不畏繁难,将所有技术细节原原本本和盘托出。另一方面,所谓剖析源码,其目的在於明理,解惑,提高自身水平,并不是要穷经皓首,倒背如流。因此,一旦道理讲清楚,书中就将重复与一般性的内容一笔带过,孰轻孰重,一目了然,详略十分得当,这一点对於提高读者的学习效率,有着巨大的意义。 最後一点,本书通过大量生动范例和插图讲解基本思想,在同类书籍中堪称典范。虽然我把这一点放在最後,但我相信大部分读者站在书店,随手翻过这本书,得到的第一印象便是这一点。STL之所以为大家所津津乐道,除了其思想深刻之外,最大的因素是它实用。它所包装的,是演算法与资料结构的基本功能。作为一个程式师,如果你是做资料库编程的,大可以不懂组合语言,如果你是写驱动程式的,大可以不必通晓人工智慧,写编译器的可以不用懂什麽电脑图形学,作业系统内核高手的不用精通网站架设,然而,如果你不懂资料结构与演算法的基础知识,不具备资料结构与演算法的基本技能,那就完全丧失称为一个程式师的资格!市面上讲述演算法与资料结构的专着汗牛充栋,俯拾皆是。相比之下,本书倒并不是以此为核心目标的。但是,可曾有哪位读者看到任何一本书像本书一样,将红黑树用一张张清晰生动的图解释得如此浅显易懂?所谓一图胜千言,在教授基本资料结构与演算法方面,我想不出还有任何一种方法,能够比幻灯般的图片更生动更令人印象深刻了。读过此书的每一位读者,我想都会为书中那一副副插图所打动,作者细致严谨的作风,时刻为读者考虑的敬业精神,也许是更值得我们尊敬的东西。 侯捷先生在一篇影响广泛的STL技术杂文中,将STL的学习境界划分为三个阶段,(1) 会用,(2) 明理,(3) 扩展。阅读STL源码是由第一层次直贯第二层次,而渐达於第三层次的一条捷径,当然也是条荆棘之路。如果你是一个勇於征服险峰的程式师,如果你是一个希望了解under the hood之奥秘的程式师,那麽当你在攀登STL这座瑰丽高山的时候,这本书会大大地帮助你。我非常热情地向您推荐这本着作。当然,再好的书籍只是工具,能不能成功,关键还在你自己。

2016-06-05

STL source code

STL被内建在你的编译系统之内。STL的版本很多,常见的有HP STL、PJ STL、 SGI STL等。 在C++标准中,STL被组织为下面的17个头文件:<algorithm>、<deque>、<functional>、<iterator>、<array>、<vector>、<list>、<forward_list>、<map>、<unordered_map>、<memory>、<numeric>、<queue>、<set>、<unordered_set>、<stack>和<utility>。 STL可分为容器(containers)、迭代器(iterators)、空间配置器(allocator)、配接器(adapters)、算法(algorithms)、仿函数(functors)六个部分。

2016-06-05

设计模式之工厂模式

本程序为简单工厂模式、工厂方法模式、抽象工厂模式的综合代码,详细地讲述了工厂模式的应用,简洁明了!

2015-12-24

SX1278模块

整体程序:sx1278驱动代码 + SPI外设代码 + UARST上位机调试代码 + 测试平台代码(sx12xxEiger) 测试代码链接:http://download.csdn.net/detail/yangquanhui1991/9278731

2015-11-18

BLE-CC41-A蓝牙模块

BLE-CC41-A蓝牙模块是深圳市博陆科电子科技有限公司专为智能无线数据传输而打造, 采用美国TI公司CC2541芯片, 配置 256Kb 空间,遵循V4.0 BLE蓝牙规范。 支持AT 指令,用户可根据需要更改串口波特率、设备名称、 配对密码等参数,使用灵活。 本模块支持UART接口, 有成本低、体积小、具功耗低、收发灵敏高等优点,只需配备性少许的外围元件就能实现其强大功能。

2015-11-18

SX1276/1278LoRa模块测试程序

整体程序:sx1278驱动代码 + SPI外设代码 + UARST上位机调试代码 + 测试平台代码(sx12xxEiger) 本程序主要基于STM32平台; 测试通过!

2015-11-18

BLE-CC41-A蓝牙模块驱动程序

BLE-CC41-A蓝牙模块是深圳市博陆科电子科技有限公司专为智能无线数据传输而打造, 采用美国TI公司CC2541芯片, 配置 256Kb 空间,遵循V4.0 BLE蓝牙规范。 支持AT 指令,用户可根据需要更改串口波特率、设备名称、 配对密码等参数,使用灵活。 本模块支持UART接口, 有成本低、体积小、具功耗低、收发灵敏高等优点,只需配备性少许的外围元件就能实现其强大功能。 代码经过测试通过!

2015-11-18

虚拟化知识

虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。

2015-08-18

操作系统:精髓与设计原理02(读书笔记)

本笔记最大的特点就是对操作系统的基本概念解释的很清楚;对操作系统的原理和内容都做了清晰的阐述。同时,还通过列举实际的操作系统(如windows和linux),对某些问题来进一步说明,使得原理和概念性的东西不再那么枯燥。 最后,这本书比Andrew S.Tanenbaum的那本经典的《现代操作系统》还要更加深入一些,不仅可以让读者入门,还可以让读者对操作系统的理解更加的深刻。

2015-07-26

操作系统:精髓与设计原理01(读书笔记)

本笔记最大的特点就是对操作系统的基本概念解释的很清楚;对操作系统的原理和内容都做了清晰的阐述。同时,还通过列举实际的操作系统(如windows和linux),对某些问题来进一步说明,使得原理和概念性的东西不再那么枯燥。 最后,这本书比Andrew S.Tanenbaum的那本经典的《现代操作系统》还要更加深入一些,不仅可以让读者入门,还可以让读者对操作系统的理解更加的深刻。

2015-07-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除