2013年7月3日

Linux的启动流程 (二)

摘要: 引:本文以RedHat9.0和i386平台为例,剖析了从用户打开电源直到屏幕出现命令行提示符的整个Linux启动过程。并且介绍了启动中涉及到的各种文件。阅读Linux源代码,无疑是深入学习Linux的最好方法。在本文对Linux启动过程的介绍中,我们也尝试从源代码的视角来更深入的剖析Linux 的... 阅读全文

posted @ 2013-07-03 13:22 胡永光 阅读(121) 评论(0) 推荐(0) 编辑

Linux的启动流程(一)

摘要: · 启动第一步--加载BIOS当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它。这是因为BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息、PnP特性等等。在此之后,计算机心里就有谱了,知道应该去读取哪个硬件... 阅读全文

posted @ 2013-07-03 13:19 胡永光 阅读(107) 评论(0) 推荐(0) 编辑

STL学习系列之一——标准模板库STL介绍

摘要: 库是一系列程序组件的集合,他们可以在不同的程序中重复使用。C++语言按照传统的习惯,提供了由各种各样的函数组成的库,用于完成诸如输入/输出、数学计算等功能。1. STL介绍标准模板库STL是当今每个从事C++编程的人需要掌握的技术,所有很有必要总结下本文将介绍STL并探讨它的三个主要概念:容器、迭... 阅读全文

posted @ 2013-07-03 13:15 胡永光 阅读(130) 评论(0) 推荐(0) 编辑

STL:STL各种容器的使用时机详解

摘要: C++标准程序库提供了各具特长的不同容器。现在的问题是:该如何选择最佳的容器类别?下表给出了概述。但是其中有些描述可能不一定实际。例如:如果你需呀处理的元素数量很少,可以虎落复杂度,因为线性算法通常对元素本身的处理过程比较快,这种情况下,“显性复杂度搭配快速的元素处理”要比“对数复杂度搭配慢的元素... 阅读全文

posted @ 2013-07-03 13:14 胡永光 阅读(95) 评论(0) 推荐(0) 编辑

STL:map/multimap用法详解

摘要: map/multimap 使用map/multimap之前要加入头文件#include,map和multimap将key/value当作元素,进行管理。它们可根据key的排序准则自动将元素排序。multimap允许重复元素,map不允许重复元素。map和multimap内部的数据结构也是平衡... 阅读全文

posted @ 2013-07-03 13:13 胡永光 阅读(206) 评论(0) 推荐(0) 编辑

STL:set/multiset用法详解

摘要: 集合使用set或multiset之前,必须加入头文件Set、multiset都是集合类,差别在与set中不允许有重复元素,multiset中允许有重复元素。sets和multiset内部以平衡二叉树实现1. 常用函数1) 构造函数和析构函数set c:创建空集合,不包含任何元素s... 阅读全文

posted @ 2013-07-03 13:11 胡永光 阅读(251) 评论(0) 推荐(0) 编辑

STL:list用法详解

摘要: list容器介绍相对于vector容器的连续线性空间,list是一个双向链表,它有一个重要性质:插入操作和删除操作都不会造成原有的list迭代器失效,每次插入或删除一个元素就配置或释放一个元素空间。也就是说,对于任何位置的元素插入或删除,list永远是常数时间。常用函数(1) 构造函数lis... 阅读全文

posted @ 2013-07-03 13:10 胡永光 阅读(215) 评论(0) 推荐(0) 编辑

STL:deque用法详解

摘要: deque函数:deque容器为一个给定类型的元素进行线性处理,像向量一样,它能够快速地随机访问任一个元素,并且能够高效地插入和删除容器的尾部元素。但它又与vector不同,deque支持高效插入和删除容器的头部元素,因此也叫做双端队列。deque类常用的函数如下。(1) 构造函数deque... 阅读全文

posted @ 2013-07-03 13:08 胡永光 阅读(156) 评论(0) 推荐(0) 编辑

STL:vector容器用法详解

摘要: vector类称作向量类,它实现了动态数组,用于元素数量变化的对象数组。像数组一样,vector类也用从0开始的下标表示元素的位置;但和数组不同的是,当vector对象创建后,数组的元素个数会随着vector对象元素个数的增大和缩小而自动变化。 vector类常用的函数如下所示: 1.... 阅读全文

posted @ 2013-07-03 13:07 胡永光 阅读(153) 评论(0) 推荐(0) 编辑

STL:字符串用法详解

摘要: 字符串是程序设计中最复杂的变成内容之一。STL string类提供了强大的功能,使得许多繁琐的编程内容用简单的语句就可完成。string字符串类减少了C语言编程中三种最常见且最具破坏性的错误:超越数组边界;通过违背初始化或被赋以错误值的指针来访问数组元素;以及在释放了某一数组原先所分配的存储单元后... 阅读全文

posted @ 2013-07-03 13:05 胡永光 阅读(174) 评论(0) 推荐(0) 编辑

C++ Primer 有感(管理类的指针成员)

摘要: C++类的指针成员与其他成员有所不同,指针成员指向一个内存地址,该地址的内存需要我没管理。我现在分析一下为什么要管理指针成员。有如下Student类,Student.h如下:[cpp] view plaincopyclass Student { public: Student(i... 阅读全文

posted @ 2013-07-03 13:03 胡永光 阅读(122) 评论(0) 推荐(0) 编辑

C++ Primer 有感(标准库set类型)

摘要: set容器只是单纯的键的集合,键必须为一。set容器不支持下标操作,而且没有定义maped_type类型。在set容器中,value_type不是pair类型,而是与key_type类型相同的类型。1.在set中添加元素set set1;set1.insert("the");set1.insert... 阅读全文

posted @ 2013-07-03 13:02 胡永光 阅读(104) 评论(0) 推荐(0) 编辑

C++ Primer 有感(标准库pair)

摘要: 与关联容器相关的模板类型,包含两个数据成员,在utility头文件中定义.pair类型提供的操作:pair p1;pair p1(v1,v2);make_pair(v1,v2);p1 name; pair> data;以上全部调用pair类型的默认构造函对其成员进行数值初始化,成员初始化为空... 阅读全文

posted @ 2013-07-03 13:00 胡永光 阅读(74) 评论(0) 推荐(0) 编辑

C++ Primer 有感(标准库vector及迭代器)

摘要: vector是同一种对象的集合,每个对象都有一个对应的整数索引值。和string对象一样,标准库将负责管理与存储元素相关的类存。引入头文件#include1.vector对象的定义和初始化vector v1 vector保存类型为T的对象。默认构造函数,v1为空 vect... 阅读全文

posted @ 2013-07-03 12:58 胡永光 阅读(138) 评论(0) 推荐(0) 编辑

C++ Primer 有感(标准库map类型)

摘要: map是键-值对的集合。map类型通常可以理解为关联数组:可以使用键作为下标获取一个值,正如内置数组一样。而关联的本质在于元素的值于某个特定的键相关联,而并非通过元素在数组中的位置获取。1.map对象的定义要使用map对象,则必须包含map头文件。在定义map对象时,必须分别指明键和值得类型map... 阅读全文

posted @ 2013-07-03 12:53 胡永光 阅读(115) 评论(0) 推荐(0) 编辑

C++ Primer 有感(命名空间)

摘要: 1.命名空间定义以关键字namespace开始,后接命名空间的名字。 2.命名空间可以在全局作用域或其他作用域内部定义,但不能在函数或类内部定义。 3.定义在命名空间中的实体称为命名空间的成员。像任意作用域的情况一样,命名空间中的每个名字必须引用该命名空间的唯一实体。 4.与其他作用域不同,命名空... 阅读全文

posted @ 2013-07-03 11:12 胡永光 阅读(126) 评论(0) 推荐(0) 编辑

C语言的预编译

摘要: 由“源代码”到“可执行文件”的过程包括四个步骤:预编译、编译、汇编、链接。所以,首先就应该清楚的首要问题就是:预编译只是对程序的文本起作用,换句话说就是,预编译阶段仅仅对源代码的单词进行变换,而不是对程序中的变量、函数等。 预编译指令的基本知识不作详细介绍,只稍作汇总,重点是后面的我... 阅读全文

posted @ 2013-07-03 09:59 胡永光 阅读(259) 评论(0) 推荐(0) 编辑

C语言的布尔类型(_Bool)

摘要: 也许很多人都和我一样,不知道现在的C语言已经有了布尔型:从C99标准开始,类型名字为“_Bool”。 在此之前的C语言中,使用整型int来表示真假。在输入时:使用非零值表示真;零值表示假。在输出时:真的结果是1,假的结果是0;(这里我所说的“输入”,意思是:当在一个需要布尔值的地方,... 阅读全文

posted @ 2013-07-03 09:56 胡永光 阅读(550) 评论(0) 推荐(0) 编辑

C语言有关指针的变量声明中的几个易错点

摘要: Technorati 标签: 指针,typedef,const,define 我们都知道,至少听说过指针对于C语言中的重要意义,但是在使用指针时却常常让我们痛不欲生,这里有几个在声明指针有关的变量时易错的地方。1. int* 和 int * (注意空格的位置) 对于... 阅读全文

posted @ 2013-07-03 09:37 胡永光 阅读(246) 评论(0) 推荐(0) 编辑

C语言中标识符的作用域、命名空间、链接属性、生命周期、存储类型

摘要: Technorati 标签: C,标识符,作用域,命名空间,链接属性,生命周期,存储类型,scope,name space,linkage,storage durations,lifetime 无论学习哪一种语言,都免不了要讨论这些问题。而且这些问题,深究起来有时也让我们很迷惑。 ... 阅读全文

posted @ 2013-07-03 09:25 胡永光 阅读(376) 评论(0) 推荐(0) 编辑

导航