自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (11)
  • 收藏
  • 关注

原创 IO多路复用-select系统调用

一、IO多路复用   IO多路复用允许进程同时检查多个文件描述符,检查其中任意一个是否可以执行IO操作。有两个功能几乎相同的系统调用来执行IO多路复用,一是select,二是poll,历史上select的使用更为广泛。这两个系统调用可以检查普通文件、终端、伪终端、管道、FIFO、套接字等,允许进程要么一直等待文件描述符成为就绪态,要么指定一个超时时间。这里简单记录下select的使用二、se...

2018-06-20 15:33:15 542

原创 信号

1、概述  信号是事件发生时对进程的通知机制,有时也称之为软件中断,会中断程序的正常执行流程。进程能够向自己也可以向其它进程发送信号,多数情况下信号都是源于内核,引发内核产生信号的事件可能有以下几种:硬件发生异常。硬件异常的例子包括执行一条异常的机器语言指令,诸如被0除,引用无法访问的内存等。键入能产生信号的字符。如ctrl+c等发生了软件事件。比如子进程退出,定时器到期等。 ...

2018-05-17 14:45:56 271 2

原创 监控文件事件

有时应用程序需要对某个文件或目录进行监控,以便判断是否发生了特定事件,比如文件删除、新增、修改等。典型例子就是文件管理应用。Linux自内核2.6.13起提供inotify机制供应用程序监控文件事件。1、概述使用inotify API有以下关键步骤:使用inotify_init()创建一个inotify实例,返回的文件描述符用于后续操作中指代该实例。使用inotify_add_...

2018-04-09 19:49:35 928

原创 进程的创建和终止

1、概述  系统调用fork允许一个进程(父进程)创建一个新进程(子进程)。通过fork,子进程几乎是父进程的复制版本,子进程获得父进程的栈、数据段、堆和执行文本段的拷贝。通常,调用fork产生子进程后,子进程随便会调用execve函数簇执行新的任务,随后执行exit相关函数退出。而父进程则通常会调用wait函数等待子进程终止。  库函数exit(status)终止一进程,将进程占用的资源...

2018-03-30 11:04:26 1773

原创 文件IO缓冲

出于速度和效率考虑,系统IO调用和标准C语言库函数在操作磁盘文件时会对数据进行缓冲。1、文件IO的内核缓冲  read和write系统调用在操作磁盘文件时不会直接发起磁盘访问,而仅是在用户空间缓冲区和内核缓冲区之间复制数据。  write调用后会立即返回,在后续某个时刻内核才会将缓冲区中的数据写入磁盘,即系统调用和磁盘操作并不同步。如果在此期间,另一进程试图读取文件的这几个字节,那...

2018-03-17 15:27:09 505

原创 文件IO

一、概述        所有执行I/O操作的系统调用都以文件描述符,一个非负整数来指代打开的文件。文件描述符用以表示所有类型的已打开文件,包括管道,FIFO,socket,终端,设备和普通文件。本文主要介绍IO相关的接口。二、通用接口        通常,shell会替所有程序打开三种标准的文件描述符。如下表:文件描述符  用途           POSIX名称      stdio流0标准输入...

2018-03-17 15:25:40 269

原创 进程

定义:进程是由内核定义的抽象的实体,并为该实体分配用以执行程序和各项系统资源。从内核角度看,进程由用户内存空间和一系列内核数据结构组成,其中用户内存空间包含了程序代码及代码所使用的变量,而内核数据结构则用于维护进程状态信息。1、进程内存布局每个进程所分配的内存由多个部分组成,通常称之为段,主要有以下段:文本段   文本段包含进程运行的机器语言指令。具有只读属性,防止被意外修改。...

2018-03-12 08:59:01 195

原创 多个数组的排列组合

前言:本文旨在记录工作中遇到的一个算法问题,有参考其它地方,但已找不到出处,见谅。问题:有一组数组,数组个数不定,每个数组的元素个数不定,从每个数组中取一个元素组成一个新的数组,需要求出所有的可能组合。思路:因为数组个数及元素个数都不定,显然不能用循环,因此只能用递归实现。代码:#include<iostream>#include<vector>using names...

2018-02-24 10:24:37 3913 1

原创 通讯录T9搜索算法实现

通讯录T9搜索算法引言:本人是做车机的,由于项目需要,手机与车机通过蓝牙连接后,需要在车机上实现T9键盘的通讯录搜索功能,算法实现参考了网上的一些想法,但是代码每一行都是自己写的,没有参考过其他人的代码,本人深信自己实现比看懂别人的代码来得快。算法原理:T9键盘相信大家都有用过,每个数字键上有0个,3个或4个字母,最常规的想法是将所输入的数字所对应的所有组合罗列出来,再进行

2017-07-13 15:39:32 2765

原创 OpenCV学习笔记七:几何变换

介绍简单的图像几何变换,主要包括缩放,移动,旋转,仿射变换,透视变换等一、扩展缩放  扩展缩放只改变图像的尺寸大小。OpenCV提供了函数resize()可以实现这个功能。可以通过指定缩放因子也可以直接指定尺寸来设置图像的大小。扩展缩放时,可以选择不同的插值方法,扩展时推荐使用INTER_CUBIC和INTER_LINEAR,缩放时推荐使用INTER_AREA。默认情况下,扩展和缩放使用的都是INT

2017-04-04 21:38:08 755

原创 OpenCV学习笔记六:直方图(2)

一、反投影响直方图查找物体直方图反向投影可以用来做图像分割,或者在图像中找寻我们感兴趣的部分。简单来说,它会输出与输入图像同样大小的图像,其中的每一个像素值代表了输入图像上对应点属于我们感兴趣的目标图像的概率。输出图像中像素值越高(越白)的点就越可能代表我们要搜索的目标。

2017-03-26 14:55:06 420

原创 局部加权线性回归

线性回归的一个问题是可能出现欠拟合现象。显而易见,模型欠拟合就不能取得好的预测效果,一个常见的解决方法是局部加权回归。该算法的思想是给待预测点附近的每一个点赋予一定的权重(离待预测点越近权重越大,越远权重越小,即以待预测点附近点的一个子集来进行普通的线性回归)  普通线性回归与局部加权线性回归的区别在于,普通线性回归是选择合适的参数θ\theta最小化∑i(y(i)−θTx(i))\sum_{

2017-03-22 23:15:29 902

原创 OpenCV学习笔记五:直方图

图像由不同颜色值的像素组成,像素值在图像中的分布情况是图像的一个重要特征。一、计算图像的直方图直方图是一个简单的表,它给出了图像中各个像素值的数目(归一化后则为相应的比例),在OpenCV中可以使用cv::calcHist计算图像的直方图,这是一个通用函数,可以计算一张或一组任意像素类型的多通道图像。void calcHist(const Mat* arrays, int narrays, cons

2017-03-20 21:39:00 415

原创 线性回归

回归问题的目标是在给定N维输入变量xx的情况下,预测一个或多个连续目标变量的值。回归问题中最简单的就是线性回归,即目标变量和输入参数之间的关系是线性关系,许多非线性回归问题可以通过在线性回归的基础上引入层级结构或高维映射得到,因此线性回归是许多回归问题的基础,函数模型为:hθ(x)=θ0+θ1x1+θ2x2+......θnxnh_\theta(x) = \theta_0 + \theta_1x_1

2017-03-14 20:56:58 510

原创 OpenCV学习笔记四:绘图

1、利用函数绘图函数原型:1、直线void line(Mat& img, Point pt1,Point pt2, const Scalar& color, int thickness=1, int lineType=8,int shift=0)img – 图像.pt1 – 起点.pt2 – 终点.color – 颜色.thickness – 线宽.lineType – 线型(4联通,8

2017-03-12 22:11:14 482

原创 OpenCV学习笔记三:视频读取

为了处理视频,需要读取视频的每一帧,OpenCV提供了一个非常易用的框架以读取视频文件或从摄像头中读取。一、读取视频文件读取视频文件,只需要创建VideoCapture实例,然后循环读取并处理每一帧就行了。示例#include#include#include using namespace std;using namespace cv;int main(){

2017-03-09 20:05:27 663

原创 OpenCV学习笔记二:操作像素

一、存取像素值Mat的成员函数at(int x,int y)用于存取第x行,第y例的像素值。存取像素值时必须知道图像的数据类型,因此at函数实现为模板函数,调用时需指定类型,例如对单通道图和彩色图://注:指定的数据类型一定要与图像的实际类型吻合//单通道image.at< uchar >(x,y) = 255;//双通道image.at<Vec3b>(x,y)[channel] = 255

2017-03-08 19:26:12 584

原创 OpenCV学习笔记一:图像基础操作

一、图像的读取、显示和保存1、Mat imread(const string& filename, int flags=1)filename:读入图像的完整路径flags:读入图像的方式CV_LOAD_IMAGE_GRAYSCALE:单通道灰度图CV_LOAD_IMAGE_COLOR:三通道彩色图CV_LOAD_IMAGE_UNCHANGED保持不变Mat image = imread("i

2017-03-07 20:27:34 694

原创 openCV-Python笔记二:视频捕获

一、从摄像头捕获视频从摄像头捕获视频,应先创建VideoCapture对象,参数为设备索引号,对于笔记本电脑,传0表示使用其内置摄像头。

2016-08-10 23:20:08 11859 5

原创 openCV-Python笔记一:图像的读取、显示和保存

使用cv2.imread(),cv2.imshow(),cv2.imwrite()读取、显示和保存图像

2016-08-02 20:52:46 41584 4

原创 一种可展开伸缩的tableView实现

:##简单实现了一个可展开收缩的tableview,可多级展开,一次收缩,类似于树形结构,可扩展性强。

2016-07-28 20:59:46 1447

原创 iOS图表绘制 - YMGraphView

YMGraphView用于图表绘制,可作散点图,饼图,柱状图,折线图等。可以自动处理坐标问题,只需将所需作图的点封装进数组即可。

2016-07-26 10:02:05 520

UNIX环境高级编程(中文第3版)

UNIX环境高级编程中文第三版,扫描版,比较清晰。

2016-02-25

linux运维之道

Linux运维之道 技术高手的呕心沥血之作,大量经典案例、问题分析,运维案头书,红帽推荐

2015-11-30

HTML5权威指南

弗里曼 扫描版 《HTML5权威指南》是系统学习网页设计的权威参考图书。《HTML5权威指南》分为五部分:第一部分介绍学习本书的预备知识和HTML、CSS和JavaScript的最新进展;第二部分讨论HTML元素,并详细说明了HTML5中新增和修改的元素;第三部分阐述CSS,涵盖了所有控制内容样式的CSS选择器和属性,并辅以大量代码示例和图示;第四部分介绍DOM,剖析如何用JavaScript操纵HTML内容;第五部分讲解Ajax、多媒体和canvas元素等HTML5高级特性。 《HTML5权威指南》面向初学者和中等水平Web开发人员,是牢固掌握HTML5、CSS3和JavaScript的必读之作。

2015-10-11

精通Matlab与C C++混合程序设计

本书主要介绍如何运用Matlab与c/C++进行混合程序设计。共分8章,主要包括:Matlab程序设计初步、Matlab编译器、Matlab与C语言的接口、生成可独立运行的Matlab程序、VisualC++调用Matlab程序、MatlabDotNetBuilder与VisualC++、Matcom与C/C++以及VisualC++调用MatlabC++数学库。

2014-11-07

ARM体系结构与编程

ARM处理器是一种16/32位的高性能、低成本、低功耗的嵌入式RISC微处理器,由ARM公司设计,然后授权给各半导体厂商生产,它目前已经成为应用最为广泛的嵌入式处理器。 本书分14章对ARM处理器的体系结构、指令系统和开发工具作了比较全面的介绍。其中包括ARM体系介绍、ARM程序设计模型、ARM汇编语言程序设计、ARM C/C++语言程序设计、ARM连接器的使用、ARM集成开发环境CodeWarrior IDE的介绍及高性能的调试工具ADW的使用。并在此基础之上介绍一些典型的基于ARM体系的嵌入式应用系统设计时的基本技术。通过阅读本书可以使读者掌握开发基于ARM的应用系统的各方面的知识。 本书既可作为学习ARM技术的培训材料,也可作为嵌入式系统开发人员的参考手册。

2014-11-07

Python网络编程基础

本书全面介绍了使用Python语言进行网络编程的基础知识,主要内容包括网络基础知识、高级网络操作、Web Services、解析HTML和XHTML、XML、E-mail服务、FTP、使用Python操作数据库、SSL、几种服务器端框架(包括Socket服务器、SimpleXMLRPCServer、CGI和mod_python),以及多任务处理(包括Forking、线程和异步通信)等。

2014-11-07

Python灰帽子:黑客与逆向工程师的Python编程之道

Python灰帽子:黑客与逆向工程师的Python编程之道

2014-11-07

c++编程思想第二卷中文版

本书是C++领域一本权威的著作,书中的内容、讲授方法、选用例子和跟随练习既适合课堂教学,又适合读者自学。无论是高等院校计算机及相关专业的学生,还是业界的专业人员,以及广大的计算机爱好者,都可从阅读本书中获得宝贵的收益.

2013-04-23

算法导论参考答案

算法导论一书的习题参考答案,很详细,非常实用。

2013-04-23

算法导论Introduction to Algorithms

本书深入浅出,全面地介绍了计算机算法。对每一个算法的分析既易于理解又十分有趣,并保持了数学严谨性。本书的设计目标全面,适用于多种用途。涵盖的内容有:算法在计算中的作用,概率分析和随机算法的介绍。本书专门讨论了线性规划,介绍了动态规划的两个应用,随机化和线性规划技术的近似算法等,还有有关递归求解、快速排序中用到的划分方法与期望线性时间顺序统计算法,以及对贪心算法元素的讨论。本书还介绍了对强连通子图算法正确性的证明,对哈密顿回路和子集求和问题的NP完全性的证明等内容。全书提供了900多个练习题和思考题以及叙述较为详细的实例研究。

2013-04-23

TCPIP协议及网络编程技术

本书是一本关于TCP/IP协议原理编程技术的教材,由两部分组成:第1部分系统地介绍了TCP/IP协议族的体系结构,并分别介绍了IP层、传输层和应用层中各种协议的具体原理和工作机制;第2部分介绍了基于socket编程接口的网络编程技术,重点讲述了客户端和服务器端编程应注意的问题、可用的模式和技术。

2013-03-04

空空如也

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

TA关注的人

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