- 博客(18)
- 资源 (2)
- 收藏
- 关注
转载 Linux中内存管理: 代码段 数据段 BSS段等的区别
赚钱5个数据段 进程(执行的程序)会占用一定数量的内存,它或是用来存放从磁盘载入的程序代码,或是存放取自用户输入的数据等等。不过进程对这些内存的管理方式因内存用途 不一而不尽相同,有些内存是事先静态分配和统一回收的,而有些却是按需要动态分配和回收的。对任何一个普通进程来讲,它都会涉及到5种不同的数据段。Linux进程的五个段下面我们来简单归纳一下进程对应的内存空间中
2014-09-23 10:32:02
688
原创 对排序的分类、分析及实现
如果按排序过程中依据的不同原则读内部排序方法进行分类,则大致可分为插入排序,交换排序,选择排序,归并排序和计数排序;如果按内部排序过程中所需的工作量来区分,则可分为3类:简单的排序方法,O(n*n),先进的排序方法,O(nlogn) , 基数排序,时间复杂度为O(d*n);
2014-09-09 13:09:26
802
转载 如何避免死锁
转载:http://www.cnblogs.com/cxd4321/archive/2012/05/28/2521542.html什么是死锁,如何避免死锁? 线程A需要资源X,而线程B需要资源Y,而双方都掌握有对方所要的资源,这种情况称为死锁(deadlock),或死亡拥抱(the deadly embrace)。在并发程序设计中,死锁 (deadlock) 是一种
2014-08-31 14:50:51
444
原创 C++学习笔记(九):类的构造函数
构造函数 是特殊的成员函数, 只要创建类类型的新对象, 都要执行构造函数。 构造函数的工作是保证每个对象的数据成员具有合适的初始值。 如下面: class Sales_item { public: sales_iterm(): units_sold(0), revenue(0.0) {} };
2014-08-20 11:46:24
516
原创 C++学习笔记(八)类型转换
表达式是否合法,取决于操作数的类型, 而且合法的表达式其含义也由其操作数类型决定。 在C++中,某些类型之间存在相关的依赖关系。 如果两种类型相关,则可在需要某种类型的操作数位置上,使用该类型的相关类型对象或值。 所谓相关,指的就是两种类型可以互相转换。 考虑一下例子: int ival = 0; ival = 3.541 + 3; 则i
2014-08-19 10:16:23
478
原创 C++学习笔记(六):容器与算法
标准容器只是定义了一些基本的操作,也许用户还需要对顺序容器进行排序, 或者查找某个特定的元素, 或者查找最大或最小的元素。标准库对于这些潜在的操作并没有定义相关的成员函数,而是定义了相关的算法,这一组算法称为 泛型算法。因为它们实现共同的操作,所以称之为 算法。 而泛型指的是 它们可以操作在多种容器类型上。 甚至某些内置数组或相关序列 以及 自定义的容器类型(只要与标准库兼容)同样可
2014-08-17 16:43:18
450
原创 C++学习笔记(五):关联容器--map与set
键:关联容器支持通过键来高效地查找和读取元素。 两个基本的关联容器是map和set。map的元素以键-值对的形式组织: 键用作元素在map中的索引, 而值表示所存储和读取的数据。set仅包含一个键,并有效地支持关于某个键是否存在的查询。关联容器类型:map 关联数组,元素通过键来存储和读取set 大小可变的集合,支持通过键实现的快速读取
2014-08-15 10:38:41
565
原创 大端组织与小端组织
搞清一个机器是大端组织还是小端组织要依据对于 计算机内部的数据通信非常重要。虽然,目前我们大多数用到的数据格式都是统一的,但是了解这个概念对于一些在不同硬件平台上运行的可移值编程是很有帮助的。所谓组织是 CPU如何对一个字或者双字的最低字节进行存储,即存储在内存中的哪个位置。所谓大端,是把字节从内存中的高位开始存储。 而小端正好相反。当然,存储在何种
2014-08-14 13:51:40
1285
转载 opencv 图像类的转换
opencv中常见的与图像操作有关的数据容器有Mat,cvMat和IplImage,这三种类型都可以代表和显示图像,但是,Mat类型侧重于计算,数学性较高,openCV对Mat类型的计算也进行了优化。而CvMat和IplImage类型更侧重于“图像”,opencv对其中的图像操作(缩放、单通道提取、图像阈值操作等)进行了优化。在opencv2.0之前,opencv是完全用C实现的,但是,IplIm
2014-08-13 18:29:38
511
原创 C++学习笔记(四): String 类
处理字符是整个编程遇到频率最多的事情,字符串包括字符,因此,有必要深入研究C++的string类string类型所具有的操作:string s;string s(cp); 定义一个新的string对象,用cp所指向的(以空字符null结束的)c风格字符串初始化该对象string s(s2); 定义一个新的string对象,并将它初始化为s2的副本is
2014-08-13 17:21:45
514
原创 C++学习笔记(三):再探顺序容器
所有容器的类型都提供一下几种操作:c.szie() c.max_size()c.empty()c.resize(n) 调整容器c的大小,使其能够容纳n个元素。c.resize(n, t) 调整容器c的大小, 使其能容纳n个元素。 所有新添加的元素值都为t当使用resize来改变容器的大小时,如果当前的容器长度大于新的长度值,则该容器后部的元
2014-08-13 11:26:33
416
原创 C++学习笔记(二): 迭代器
迭代器:每种容器都提供了若干共同工作的迭代器类型,与容器类型一样,所有迭代器都具有相同的接口, 即它们都支持某种操作支持的操作有:*iter 指向元素iter->mem 解引用++iter iter++ 自增--iter iter-- 自减iter1==iter2 判
2014-08-11 18:23:41
530
原创 内存组织与访问
了解内存的性能特性, 数据局部性, 以及高速缓存操作可以让你设计的软件运行得尽可能地块。编写卓越代码,需要对计算机体系结构有深刻的了解冯若依曼结构: CPU, 内存, IOCPU:在80x86中,CPU是所有动作发生的场所,所有计算都发生在CPU内部。内存:数据和机器指令存储在内存中, CPU需要时,系统就会将数据传输给CPU。IO:所有IO设备都像是内存,
2014-08-11 15:58:51
936
原创 C++学习笔记(一):初探容器
定义:vector是容纳特定类型对象的集合, 它根据位置来存储和访问这些元素, 这就是顺序容器, 顺序容器的排序次序与元素值无关, 而是由元素添加到容器里的次序决定的谈谈标准库:标准库定义了三种顺序容器类型:vector list deque(双端队列) 它们的差异: 它们的差别在于访问元素的方式,以及添加或删除元素相关的操作的运行代
2014-08-10 23:41:10
444
转载 OpenCV 2.4.8 or OpenCV 2.4.9组件结构全解析
文章链接: http://blog.youkuaiyun.com/poem_qianmo/article/details/19925819作者:毛星云(浅墨) 邮箱: happylifemxy@163.com
2014-08-07 18:09:39
644
原创 linux(ubuntu)下,如何利用opencv调用usb摄像头(Eclipse)
首先,庆祝一下,今天终于配置成功由于,在配置过程中,每个步骤网上都有大量详细教程(一般要几个叫教程对比着看,因为难免有些作者有笔误的地方),所以下面主要总结一下,几个关键性的步骤:初始条件:准备阶段的配置工作,这一步主要使你的电脑都安装上相应的库,支持后面的相关工作第一,配置c编译器:这个一般在linux内核中都自带有,linux gcc等第二,安装
2014-07-27 11:40:31
4972
原创 linux(ubuntu 64位)下,配置ARToolKit,用usb网络摄像头来实现
提示:在配置时遇到问题时,千万要心平气和,把它当作人生中必须克服的难题对待,要有坚韧不拔的毅力和细致入微的品质,在阅读每一个相关的教程时,并判断它有用后,不要流于字面的形式,一定要一字一字去读,仔细琢磨,方能发现其中蕴含的道理和方法。查找问题时,一定要对症下药,对于特别棘手的问题时,要果断用google,看外文贴,仔细看。首先,在ARToolKit官网,有它的安装流程即
2014-07-27 11:38:42
3113
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人