自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(115)
  • 资源 (3)
  • 问答 (4)
  • 收藏
  • 关注

转载 同步/异步,阻塞/非阻塞

一、同步与异步同步/异步, 它们是消息的通知机制1. 概念解释A. 同步所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。按照这个定义,其实绝大多数函数都是同步调用(例如sin isdigit等)。但是一般而言,我们在说同步、异步的时候,特指那些需要其他部件协作或者需要一定时间完成的任务。最常见的例子就是 SendMessage。该函数

2015-01-29 16:53:01 647

转载 close和shutdown函数

1.close()函数[cpp] view plaincopyprint?"font-size:13px;">#include  int close(int sockfd);     //返回成功为0,出错为-1.      close 一个套接字的默认行为是把套接字标记为已关闭,然后立即返回到调用进程,该套接字描述符不能再由调用进程

2015-01-14 16:19:29 716

转载 getrlimit,setrlimit函数

1,在Linux系统中,Resouce limit指在一个进程的执行过程中,它所能得到的资源的限制,比如进程的core file的最大值,虚拟内存的最大值等。Resouce limit的大小可以直接影响进程的执行状况。其有两个最重要的概念:soft limit 和 hard limit。struct rlimit {rlim_t rlim_cur;      //代表软限制rlim

2015-01-12 22:04:06 938

转载 MD5码

1,MD5是一种加密方法。通过对一段信息码加密后,可以生成固定长度(128bit)的MD5码。该MD5码理论上来说应该是全球唯一的。2,算法原理。1),填充编码。在MD5算法中,首先需要对信息进行填充,使其位长对512求余的结果等于448。因此,信息的位长(Bits Length)将被扩展至N*512+448,N为一个非负整数,N可以是零。填充的方法如下,在信息的后面填充一个1和无数个0,直到

2015-01-09 19:39:51 6501

原创 单例模式

单例模式是指:在全局范围内,保证一个类只能有一个实例。c++的实现方法:1,构造函数必须是private,保证不可以在类外通过构造函数创建新的对象;2,通过static成员来创建实例;例子:class CSingleton{private: CSingleton() //构造函数是私有的 { } static CSingleton *m_pInstance;publi

2015-01-08 19:27:50 538

转载 popen system exec函数

C/C++程序调用shell命令可以通过以下函数实现:    FILE *popen(const char *command, const char *mode);     popen()会调用fork()产生子进程,然后从子进程中调用/bin/sh -c来执行参数command的指令。参数mode可使用r代表读取,w代表写入。依照mode值,popen()会建立管道连接到子进程的标准输出

2015-01-07 22:13:07 1223

转载 c语言中time函数的用法

头文件time.h @函数名称:     localtime 函数原型:     struct tm *localtime(const time_t *timer) 函数功能:     返回一个以tm结构表达的机器时间信息 函数返回:     以tm结构表达的时间,结构tm定义如下: [cpp] view plaincopy

2015-01-06 16:20:43 1584

转载 vim精确匹配

精确匹配查找单词如果你输入 "/the",你也可能找到 "there"。要找到以 "the" 结尾的单词,可以用:/the\> "\>" 是一个特殊的记号,表示只匹配单词末尾。类似地,"\这样,要匹配一个完整的单词 "the",只需:/\

2015-01-05 17:25:16 12014 1

原创 宏定义中##的作用

宏定义中的##作用:起到了一种连接符的作用。

2014-11-16 20:56:01 783

转载 git 学习教程

第一课. git简介内容:什么是git,为什么要使用git以及获取和学习git的途径。  欢迎来到github学习教程的第一课。本教程将通过一系列的实例来介绍如快速,轻松地使用Git。教程中会有很多屏幕截图,希望这样可以让你更好的学习和理解。本节简要介绍git的概念和为什么应该使用它 git是一个快速,开源,分布式的版本控制系统。

2014-10-29 10:09:46 1473

转载 git push错误;fatal: The remote end hung up unexpectedly

在ubuntu10.04终端上 执行以下命令:[html] view plaincopygit clone git://XXX  XXX是源码路径,将git上的代码拷贝下来,然后分别执行:git commit和git push命令。执行git push之后,终端上直接输出一下错误:[html] view

2014-10-29 09:17:49 1051

转载 .gitignore

git 可以管理所有文件的变更, 但并不是所有文件都有意义。大部分二进制文件没有意义  比如说 VC 工程的 Debug 和 Release 文件夹下的文件, 或者 java 项目的 bin 文件夹中的 class 文件, 这些文件都是基于源代码生成的, 只要有源代码就能生成出来,所以版本管理的时候应该忽略它们。有些文本文件也没有意义  比如说 VC 工程中的

2014-10-28 20:08:09 520

转载 linux awk命令详解

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

2014-10-24 17:13:50 494

转载 sed命令详解

转载:http://blog.chinaunix.net/u/22677/showart_1076318.html1.简介sed是非交互式的编辑器。它不会修改文件,除非使用shell重定向来保存结果。默认情况下,所有的输出行都被打印到屏幕上。sed编辑器逐行处理文件(或输入),并将结果发送到屏幕。具体过程如下:首先sed把当前正在处理的行保存在一个临时缓存区中(也称为模

2014-10-24 15:53:13 570

转载 grep与正则表达式

虽然正则表达式经常都在用,但是很少能够静下心来仔细的总结一下。最近看了一个台湾人的网站叫做鸟哥Linux私房菜,关于正则表达式的描述挺详细的。在此,我进行一下总结,如果想仔细的学习正则表达式,请访问鸟哥Linux私房菜,台湾同胞的网站是繁体中文的,需要点儿耐心。     正则表达式只是字符串的一种描述,只有和支持正则表达式的工具相结合才能进行字符串处理。本文以grep为例来讲解正则表达式。

2014-10-24 14:31:32 500

原创 memory pool

动态内存申请预分配中,pinfande

2014-10-08 16:42:37 612

转载 epoll两种监听模式

Edge Triggered 工作模式: 如果我们在第1步将RFD添加到epoll描述符的时候使用了EPOLLET标志,那么在第5步调用epoll_wait(2)之后将有可能会挂起,因为剩余的数据还存在于文件的输入缓冲区内,而且数据发出端还在等待一个针对已经发出数据的反馈信息。只有在监视的文件句柄上发生了某个事件的时候 ET 工作模式才会汇报事件。因此在第5步的时候,调用者可能会放弃等待仍在存

2014-09-17 22:46:36 956

转载 fork注意

前两天有人问了个关于Unix的fork()系统调用的面试题,这个题正好是我大约十年前找工作时某公司问我的一个题,我觉得比较有趣,写篇文章与大家分享一下。这个题是这样的:题目:请问下面的程序一共输出多少个“-”?1234567891011121314

2014-09-12 18:29:53 487

转载 Shell排序

刚才在CSDN的C语言板块看到了有人说Shell排序的问题,所以一起学习了一下,并进行如下总结shell排序的思想是根据步长由长到短分组,进行排序,直到步长为1为止,属于插入排序的一种。下面用个例子更好的理解一下无序数列: 32, 43,56,99,34,8,54,761.首先设定gap=n/2=4于是分组32,34    排序  32,3443, 8       

2014-09-12 18:09:23 485

转载 抽象类与接口的区别及应用

抽象类与接口的区别及应用(本文由张洋提供)抽象类(Abstract Class)与接口(Interface)是面向对象程序设计中两个重要的概念。由于两者在自身特性及应用方法上存在诸多相似性,如都不能实例化、都可以被继承(严格来说对于接口应该叫做实现),这么一来,在许多人心中抽象类与接口的界限非常模糊,对何时该使用抽象类、何时该使用接口更是感到困惑。本文的目的是通过对两者的讨

2014-09-11 16:54:24 537

转载 HTTP返回码总结

HTTP协议状态码表示的意思主要分为五类 ,大体是 :  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~  1××   保留   2××   表示请求成功地接收   3××   为完成请求客户需进一步细化请求   4××   客户错误   5××   服务器错误     100 Continue指示客户端应该继续请求。回送用于通知客户端

2014-08-26 20:32:16 349

转载 Linux下的IPC-UNIX Domain Socket

一、 概述UNIX Domain Socket是在socket架构上发展起来的用于同一台主机的进程间通讯(IPC),它不需要经过网络协议栈,不需要打包拆包、计算校验和、维护序号和应答等,只是将应用层数据从一个进程拷贝到另一个进程。UNIX Domain Socket有SOCK_DGRAM或SOCK_STREAM两种工作模式,类似于UDP和TCP,但是面向消息的UNIX Domain Soc

2014-08-24 15:38:48 577

转载 leetcode之Clone Graph

题目大意:Clone an undirected graph. Each node in the graph contains a label and a list of itsneighbors.OJ's undirected graph serialization:Nodes are labeled uniquely.We use # as a separator

2014-08-07 17:52:20 408

原创 leetcode之Word Break II

题目大意:Given a string s and a dictionary of words dict, add spaces ins to construct a sentence where each word is a valid dictionary word.Return all such possible sentences.For example, given

2014-08-07 16:20:27 487

原创 leetcode之Copy List with Random Pointer

题目大意:A linked list is given such that each node contains an additional random pointer which could point to any node in the list or null.Return a deep copy of the list.意思就是:

2014-08-07 16:13:14 532

转载 list::splice()函数详解

list::splice实现list拼接的功能。将源list的内容部分或全部元素删除,拼插入到目的list。函数有以下三种声明:void splice ( iterator position, list& x );  // void splice ( iterator position, list& x, iterator i );void splice ( iterator po

2014-08-06 21:57:25 619

原创 leetcode之Binary Tree Level Order Traversal II

题目大意:Given a binary tree, return the bottom-up level order traversal of its nodes' values. (ie, from left to right, level by level from leaf to root).For example:Given binary tree {3,9,20,#,#,

2014-08-01 11:27:28 630

原创 leetcode之Binary Tree Level Order Traversal

题目大意:Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, level by level).For example:Given binary tree {3,9,20,#,#,15,7}, 3 / \ 9

2014-08-01 11:24:02 466

原创 leetcode之Convert Sorted Array to Binary Search Tree

题目大意:Given an array where elements are sorted in ascending order, convert it to a height balanced BST.意思就是:同Convert Sorted List to Binary Search Tree,只是把

2014-08-01 11:17:33 490

原创 leetcode之Convert Sorted List to Binary Search Tree

题目大意:Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST.意思就是

2014-08-01 11:12:12 504

原创 leetcode之Balanced Binary Tree

题目大意:Given a binary tree, determine if it is height-balanced.For this problem, a height-balanced binary tree is defined as a binary tree in which the depth of the two subtrees ofevery node nev

2014-08-01 10:55:44 480

原创 leetcode之Minimum Depth of Binary Tree

题目大意:Given a binary tree, find its minimum depth.The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node.意思就是:给定一棵二叉树,找到它的最短

2014-08-01 10:50:37 492

原创 leetcode之Path Sum II

题目大意:Given a binary tree and a sum, find all root-to-leaf paths where each path's sum equals the given sum.For example:Given the below binary tree and sum = 22, 5 /

2014-08-01 10:43:51 486

原创 leetcode之Path Sum

题目大意:Path Sum

2014-08-01 10:41:05 436

原创 leetcode之Flatten Binary Tree to Linked List

题目大意:Given a binary tree, flatten it to a linked list in-place.For example,Given 1 / \ 2 5 / \ \ 3 4 6The flattened tree should look like: 1

2014-07-29 17:36:12 447

原创 leetcode之Distinct Subsequences

题目大意:Given a string S and a string T, count the number of distinct subsequences ofT in S.A subsequence of a string is a new string which is formed from the original string by deleting some (ca

2014-07-29 17:33:08 577

原创 leetcode之Populating Next Right Pointers in Each Node

题目大意:Given a binary tree struct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNode *next; }Populate each next pointer to point to its next right nod

2014-07-29 17:04:45 523

原创 leetcode之Reverse Words in a String

题目意思:

2014-07-21 11:03:38 573

转载 select和epoll

select:1,select有数量限制,该函数调用可以操作的文件描述符有最大数量的限制,FD_SETSIZE决定,内核mor

2014-07-15 21:04:18 561

转载 遗传算法

遗传算法 ( GA , Genetic Algorithm ) ,也称进化算法 。 遗传算法是受达尔文的进化论的启发,借鉴生物进化过程而提出的一种启发式搜索算法。因此在介绍遗传算法前有必要简单的介绍生物进化知识。  一.进化论知识   作为遗传算法生物背景的介绍,下面内容了解即可:  种群(Population):生物的进化以群体的形式进行,这样的一个群体称

2014-06-18 20:05:44 1095

c++ 游戏开发

c++ 游戏开发,简单易学的教材~ 请大家多多下载,积分多多了

2012-10-29

vc++ windows

vc++初学者可以通过这本书,获得入门知识,通过它,可以实现小程序的编写。

2012-10-11

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

TA关注的人

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