自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (9)
  • 收藏
  • 关注

转载 程序或-内存区域分配(五个段)---分析很好

原文地址:http://blog.csdn.net/love_gaohz/article/details/41310597 一、在学习之前我们先看看ELF文件。ELF分为三种类型:.o 可重定位文件(relocalble file),可执行文件以及共享库(shared library),三种格式基本上从结构上是一样的,只是具体到每一个结构不同。下面我们就从整体上看看这3种格式从...

2018-08-31 14:11:24 365

原创 C++类中不能定义自身类类型成员变量

类声明: class dog; //类的声明类定义: class dog{ //类的定义};当用实例化一个类的对象时,编译器会根据类的定义来分配相应的存储空间 。也就是说,在创建对象前,一定要有完整的类定义,这样编译器才能正确的计算所需空间。 那么我们来看如下代码:class dog{ dog tt; //error, ‘tt’ uses undefined class...

2018-08-24 17:10:37 6287 1

转载 Linux上如何分析死锁问题

简介死锁 (deallocks): 是指两个或两个以上的进程(线程)在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程(线程)称为死锁进程(线程)。 由于资源占用是互斥的,当某个进程提出申请资源后,使得有关进程(线程)在无外力协助下,永远分配不到必需的资源而无法继续运行,这就产生了一种特殊现象...

2018-07-27 15:52:19 2812 1

原创 Linux多线程调度策略

转自:http://blog.csdn.net/byperseverance/article/details/44522731        Linux线程的调度策略分为3个:SCHED_OTHER,SCHED_FIFO,SCHED_RR       讲策略之前,大家需要理解实时与非实时之分。实时就是指操作系统对一些中断等的响应时效性非常高,即使是在内核态的时候,非实时反之。目前像VxWorks属...

2018-07-09 11:01:22 1949

转载 c++中inline的使用(转的,总结的在点上)

1. 引入inline关键字的原因在c/c++中,为了解决一些频繁调用的小函数大量消耗栈空间(栈内存)的问题,特别的引入了inline修饰符,表示为内联函数。栈空间就是指放置程序的局部数据(也就是函数内数据)的内存空间。在系统下,栈空间是有限的,假如频繁大量的使用就会造成因栈空间不足而导致程序出错的问题,如,函数的死循环递归调用的最终结果就是导致栈内存空间枯竭。下面我们来看一个例子:#includ...

2018-06-21 09:50:38 148

原创 linux多线程默认栈大小和最大可创建线程数

linux的线程栈大小可以使用ulimit -s命令查看,对于ubuntu 2.6的内核线程栈的默认大小为8M,如下:root@npti:/# ulimit -s819232位的系统,虚拟内存空间是4G,其中高1G是内核空间用户不可见,真正可以使用的内存空间大小是低3G的用户空间,具体参考下表:Linux的内存模型,一般为:地址作用说明>=0xc000 0000内核虚拟存储器用户代码不可见区...

2018-05-14 15:25:29 2860

转载 C++字符串操作详解(转)

选用C++标准程序库中的string类,是因为他和c-string比较起来,不必担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,== 进行比较,+ 做串联。首先,为了在我们的程序中使用string类型,我们必须包含头文件 。如下: #include //注意这里不是string.h string....

2018-05-03 18:11:29 415

转载 多线程性能及效率问题

一、[多线程概要]  随着计算机技术的发展,编程模型也越来越复杂多样化。但多线程编程模型是目前计算机系统架构的最终模型。随着CPU主频的不断攀升,X86架构的硬件已经成为瓶,在这种架构的CPU主频最高为4G。事实上目前3.6G主频的CPU已经接近了顶峰。  如果不能从根本上更新当前CPU的架构(在很长一段时间内还不太可能),那么继续提高CPU性能的方法就是超线程CPU模式。那么,作业系统、应用程序...

2018-04-04 16:03:33 832

原创 关于字符串指针不能修改的疑问

C/C++ code示例:char*m ="hello"; *(m+1) ='s'; for(;*m !='\0';m++){ printf("%c\n",*m); }但是出运行时错误。----------------------------------------------------------我用数组下标的方式是可以修改的:C/C++ codeint i =0; char w[] ="he...

2018-02-08 14:45:00 367

原创 关于CRC校验算法及其C代码实现

以CRC16作为参考:CRC16常见的标准有以下几种,被用在各个规范中,其算法原理基本一致,就是在数据的输入和输出有所差异,下边把这些标准的差异列出,并给出C语言的算法实现。CRC16_CCITT:多项式x16+x12+x5+1(0x1021),初始值0x0000,低位在前,高位在后,结果与0x0000异或CRC16_CCITT_FALSE:多项式x16+x12+x5+

2018-01-10 16:19:17 4031 1

转载 VxWorks任务状态的转换

在VxWorks中,任务的基本状态分为5种:就绪态、休眠态、延迟态、悬置态、运行态。    就绪态是指,任务已经获得除了CPU之外的所有其他资源,所等待的只是CPU的运行,一旦其他任务释放了CPU资源,该任务就可以开始运行。    休眠态表示任务正在等待除CPU之外的其他资源,即使当前CPU资源可以使用该任务也无法运行,通常也叫作阻塞状态。    处于延迟态的任务表示在其执

2017-11-07 15:33:59 4419

转载 Linux内核bug分析

ps:非常好的文章,学习分析方法Linux Kernel BUG:soft lockup CPU#1 stuck分析1.线上内核bug日志kernel: Deltaway too big! 18428729675200069867 ts=18446743954022816244 write stamp =18014278822746377 kernel:------

2017-09-29 10:15:33 2192

原创 关于svn死循环问题

近来做项目发现,通过命令行check out代码,然后通过图形界面commit 代码会出错,包括clean up也会报错“svn cleanup failed–previous operation has not finished; run cleanup if it was interrupted”,这是由于svn死循环造成的。TortoiseSVN在1.7版本开始,取消了工作副本所有目

2017-09-04 11:07:15 517

原创 子网掩码与子网数目之间的换算

A类网络缺省子网掩码:255.0.0.0 B类网络缺省子网掩码:255.255.0.0 C类网络缺省子网掩码:255.255.255.0例1:给了A类子网掩码255.255.192.0则二进制:11111111 **11111111 11**000000 00000000 前八位为地址掩码,后二十四位表示主机地址 即把网络划分成2的10次方个子网1024个子网。(主

2017-05-18 13:34:00 1415

原创 关于expected identifier or ‘(’ before***的错误

今天早上在编译工程的时候,总是会报出expected identifier or ‘(’ before***的错误,查看了代码没有任何问题,后来又在网上找原因受到启发,原来是我的代码里有未被识别的字符,将那段字符注释掉就可以了,还好是小问题,写出来记录下自己曾经踩过的坑,防止再次出错。

2017-05-12 10:25:25 54843 1

转载 GDB下查看内存命令(x命令)

可以使用examine命令(简写是x)来查看内存地址中的值。x命令的语法如下所示: x/  n、f、u是可选的参数。  n是一个正整数,表示需要显示的内存单元的个数,也就是说从当前地址向后显示几个内存单元的内容,一个内存单元的大小由后面的u定义。  f 表示显示的格式,参见下面。如果地址所指的是字符串,那么格式可以是s,如果地十是指令地址,那么格式可以是i。

2017-04-07 13:48:30 532

转载 const类型详解(总结的很好)

const变量有全局的和局部的,C语言中全局的const变量默认为外连接,所以默认都是有内存地址的,c++中全局的const变量默认为内连接,它可以被编译 器放到符号表中作为编译期常量,所以在c中,const int k = 2; int a[k]是非法的,但在c++中是合法的。       这是全局const变量,局部的const变量在C和C++中一视同仁,都是放在函数局部栈中的,把

2017-03-15 09:34:28 706

原创 关于宏IN、OUT和INOUT的说明

#define OUT#define IN#define INOUT在工程中会有类似于上面这种宏定义出现,到底表示什么意思呢?如下一段程序:#include#define OUT#define IN#define INOUTvoid function1(OUT int* p){*p = 10;return;}void function

2017-03-09 16:15:32 6504 2

转载 离开了公司,你还有什么

(基于打造个人品牌价值)工作越久,好像越不敢想象没有工作的样子。你有这样的感觉吗?2007年12月,我从南京回到西安,重新开始寻找工作,一开始我觉得休息上几个月也好,不用着急。可是真到了西安,休息了一个星期就开始恐慌!没工作啊,再也没有收入了,而你的各项支出分毫未减!2014年9月,我离开工作7年的公司,再次开始求职。这一次我想一定要好好规划一下,想好了再做决定,休息三五个月也

2017-02-25 14:23:56 270

转载 linux下gdb调试

(收藏下来,以备不时之需)一、GDB 概述GDB 是 GNU 开源组织发布的一个强大的 UNIX 下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像 VC 、 BCB 等 IDE 的调试,但如果你是在 UNIX 平台下做软件,你会发现 GDB 这个调试工具有比 VC 、 BCB 的图形化调试器更强大的功能。所谓 “ 寸有所长,尺有所短 ” 就是这个道理。一般来说,

2017-01-03 17:00:02 279

转载 堆栈的工作原理

转自:http://blog.csdn.NET/lee244868149/article/details/49493715每一个使用C语言的都应该知道栈的重要性,我们能够使用C/C++语言写出诸多复杂的程序,很大功劳一部分有归于栈的实现,因为它可以帮助我们实现函数间的嵌套调用。汇编程序的运行是不需要栈的,所以注定它函数的嵌套层数不会太多,一般是父函数调用子函数,然后在子函数就返回了

2016-12-18 16:17:43 7695 1

原创 浅谈bootloader、kernel、filesystem三者之间的关系

嵌入式linux按照bootloader->kernel->filesystem->application顺序启动。Bootloader是linux-kernel移植的基石,是在系统启动之后、kernel运行之前所执行的第一段代码,其任务是为调用kernel准备必要的软硬件环境;完成bootloader的移植后,就是kernel的移植,主要包括添加特定模块的驱动,针对具体要求对内核进行配置,有两点

2016-12-16 16:27:56 6594

原创 报文、帧、数据包等的区别

报文(message)是网络中交换与传输的数据单元,也是网络传输的单元。报文包含了将要发送的完整的数据信息,其长短不需一致。报文在传输过程中会不断地封装成分组、包、帧来传输,封装的方式就是添加一些控制信息组成的首部,那些就是报文头。应用层:报文(message),一般指完整的信息,传输层实现报文交付,位于应用层的信息分组称为报文;传输层:报文段(segment),组成报文的每个分组;网

2016-12-12 19:00:48 24059

转载 深入理解Linux中内存管理

(PS:很好的文章,特此转来细细研读)原文地址: http://kb.cnblogs.com/page/180830/前一段时间看了《深入理解Linux内核》对其中的内存管理部分花了不少时间,但是还是有很多问题不是很清楚,最近又花了一些时间复习了一下,在这里记录下自己的理解和对Linux中内存管理的一些看法和认识。  我比较喜欢搞清楚一个技术本身的发展历程,简而言之就是这个

2016-11-26 16:44:53 252

转载 大O算法复杂度表示

序言:算法的时间复杂度和空间复杂度都是用“大O表示法”来表示的。其中O是个常量。常见的 排序算法的时间复杂度:                                              冒泡排序、插入排序、希尔排序、选择排序的时间复杂度是O(n^2);                                              快速排序的时间复

2016-11-20 16:55:42 6402

转载 循环冗余检验(CRC)

最近遇到的项目模块中,涉及到通信数据的校验处理,对这一块的内容又重新做个梳理。CRC校验(循环冗余校验)是数据通讯中最常采用的校验方式。在嵌入式软件开发中,经常要用到CRC 算法对各种数据进行校验。因此,掌握基本的CRC算法应是嵌入式程序员的基本技能。可是,我认识的嵌入式程序员中能真正掌握CRC算法的人却很少,平常在项目中见到的CRC的代码多数都是那种效率非常低下的实现方式。其

2016-11-19 16:23:39 1222

转载 VxWorks下的调试

主要介绍在Tornado集成开发环境下的调试方法,和利用支撑定位问题的步骤、思路。1         Tornado的调试工具嵌入式实时操作系统VxWorks和集成开发环境Tornado的组成结构如下图1。分为主机和目标机系统。图1 集成开发环境结构图在Tornado下,调试相关操作在Debug菜单下,包括:图2 Debug菜单简单解

2016-11-15 14:10:01 10949

原创 Tornado2.2安装步骤

1.Tornado 2.2 会有两个安装文件cd1、cd2,先安装cd1中的应用程序,安装密钥在CRACK文件夹的readme.txt文件里可以找到,然后一路next就可以了,最后一步选择phone or fax;2.将cd1中的license.data拷贝到C:\Tornado2.2\flexlm(你也可以是d盘,视自己情况而定);3.安装cd2中的应用程序,安装密钥在r

2016-10-24 14:42:56 3622

转载 计算机原理

堆栈介绍     堆和栈都是把数据按序排列的数据结构。    在栈中进行数据的存放,就像把数据放入箱子或桶中一样,是一种“后进先出”的数据结构,也就是说先存放的后取,后存放的先取。这就如同我们要取出放在箱子里面底下的东西(放入的比较早的物体当然就压在底下了,),我们首先要移开压在它上面的物体(放入的比较晚的物体)。[FROM :百科]    栈作为一种数

2016-05-23 19:19:04 361

原创 关于opencv2.4.9配置vS2010(win7 32)

VS2010配置新建项目,选项目名(例“HelloOpenCV")右击,选“属性”,选“VC++目录”,(1)在项目的包含文件中添加(选择“所有配置”),选择D:\OpenCV\build\include\opencv; D:\OpenCV\build\include\opencv2; D:\OpenCV\build \include;(2)在库目录中添加(选择”所有配置”)D

2014-11-24 10:05:02 541

转载 OpenCV 2.2.0及以上版本CvvImage的使用

最近在用opencv2.4.9版本调试一个程序,因为里面用到CvvImage类,

2014-11-24 09:46:01 1425

原创 ransac估计(之二)

一、RANSAC估计RANSAC()

2014-11-15 11:08:38 929

转载 计算机视觉一些比较实用的文章

1. Active Appearance Models活动表观模型和活动轮廓模型基本思想来源Snake,现在在人脸三维建模方面得到了很成功的应用,这里列出了三篇最初最经典的文章。对这个领域有兴趣的可以从这三篇文章开始入手。[1998 ECCV] ActiveAppearance Models[2001 PAMI] ActiveAppearance Models

2014-08-26 10:01:16 734

转载 Qt4过渡至Qt5 (错误大全)

QtWidgets作为一个独立的模块例如编译时错误error: QMainWindow: No such file or directoryerror :  QToolButton : No such file or directoryerror :  QWidget: No such file or directory

2014-08-19 10:22:33 799

原创 Win7的32位系统配置QT的opencv开发环境小感

我一向很少写博客,倒不是因为

2014-07-27 09:20:12 908

转载 OpenCV 实现人脸检测与相关知识整理

开发配置网上能够找到关于OpenCV人脸检测的例子也比较多,大多也都是基于这个例程来更改,只是多数使用的是OpenCV 1.0的版本,而OpenCV2.0以后由于模块结构的更改,很多人并没有将例程运行起来。如果是新版的OpenCV跑旧的例程,编译运行出错的话,需要确保:#include "opencv2/objdetect/objdetect.hpp" 头文件被引用,老的头文件

2014-07-16 17:24:44 1408

转载 OpenCV里面Mat方法中的Scalar详解

OpenCV参考手册2.3.1中第15页,有这么一个例子:// make a 7x7 complex matrix filled with 1+3j.Mat M(7,7,CV_32FC2,Scalar(1,3));解释如下:创建一个M矩阵,7行7列,类型为CV_32F,C2表示有2个通道。Scalar(1,3)是对矩阵进行初始化赋值。第一个通道全为1,第2个通道全为3。具体见一

2014-07-03 10:39:12 15058

原创 VS2010编译QT4.8.4遇到“LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏 “问题

在用VS编译qt时候很少有人遇到rusha

2014-06-29 09:31:39 1216

转载 宽基线与窄基线

基线的本意是指立体视觉系统中两摄像机光心之间的距离。依据拍摄两幅图 像的视点位置关系可将对应点匹配问题分为宽基线(Wide Baseline)和窄基线匹配(Short Baseline)。宽基线一词用于匹配时,泛指两幅图像有明显不同的情况下的匹配。产生这种情况的原因有可能为摄像机之间的位置相差很大,也有可能由于摄像机旋转或焦距的变化等因素产生的。    宽基线匹配和窄基线匹配的分界不是

2014-06-09 09:48:35 848

转载 SIFT算法学习

最近在看sift算法相关的知识,发现了一篇技术大牛的帖子,tejiangcitie

2014-05-15 19:34:43 1345

移动机器人路径规划

非常好的机遇人工势场法编写的路径规划程序,可以实现自动避障功能,很适合初学者研究学习

2014-10-27

用opencv做的统计车流量的程序包

统计车流量,对于研究这方面的具有很好的指导作用

2014-07-20

特征匹配源码

根据opencv例程改写的特征提取与匹配的算法实现,包括ORB和FREAK算法,比较实用

2014-07-16

人脸样本库

人脸检测样本库,可以用来训练分类器,拿去吧

2014-07-09

人脸识别样本库

非常好用的人脸检测正负样本,尺寸大小统一,省去了裁剪麻烦

2014-07-09

手势检测程序

很好用的基于opencv2.0的代码,对于学习研究作参考都有很大的帮助

2014-07-08

人脸识别程序

基于opencv2.4的人脸识别程序,很好用

2014-07-08

Rob-hess 的SIFT源码

sift源码,用opencv实现,作为参考学习之用

2014-06-19

非常好用的matlab图像拼接程序

基于matlab的一系列图像的全景拼接技术,运用最新算法,非常值得学习与参考的实用资料

2014-04-21

空空如也

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

TA关注的人

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