自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

今晚打老虎

所有博文纯为个人学习笔记

  • 博客(105)
  • 收藏
  • 关注

原创 软连接建立出错 Operation not supported

建立软连接出现了以下错误:ln: creating symbolic link `/mnt/hgfs/wmj/src/src': Operation not supported

2017-02-17 09:18:15 7814

原创 C++宏与类

struct ServiceFactory { virtual ~ServiceFactory() {} virtual Service * CreateService() const = 0; virtual const char* GetName() const = 0; virtual int GetCmdId() const = 0;};//宏定义#d

2017-02-15 14:36:01 1056

原创 共享内存队列的实现

共享内存队列类:(结构体Header,结构体Record,结构体Attr) 共享内存队列 class ShmQueue {public: /** * 队列头 */ struct Header { volatile unsigned int head; volatile unsigned int tail;

2017-01-18 10:33:48 1667

转载 Linux学习--gdb调试

http://www.cnblogs.com/hankers/archive/2012/12/07/2806836.html一.gdb常用命令:命令描述backtrace(或bt)查看各级函数调用及参数finish连续运行到当前函数返回为止,然后停下来等待命令frame(或f) 帧编

2017-01-17 17:18:28 246

原创 socketpair

socketpair:建立一对匿名的已经连接的套接字#include sys/types.h> #include sys/socket.h>int socketpair(int d, int type, int protocol, int sv[2]);1)UNIX域2)SOCK_STREAM SOCK_DGRAM3)对于socketpair函数,protocol参

2017-01-17 16:49:13 231

原创 数据结构概念

基本概念和术语数据:是描述客观事物的符号,是计算机可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。数据不仅仅包括整型、实型等数值类型,还包括字符及声音、图像、视频等非数值类型。声音数据、图像数据等两个前提:可以输入计算机中能被计算机程序处理数据元素:组成数据的、有一定意义的基本单位,在计算机中通常作为整体处理。也称为记录数据项:一个数据元素可以由若干

2016-12-01 21:59:43 576

原创 面试题40:数组中只出现一次的数字

#include using namespace std;unsigned int FindFirstBitIs1(int num)//从右到左找出第一个为1的位,返回找到的从右到左的下标{ int indexBit=0; while(((num&1)==0)&&(indexBit<8*sizeof(int))) { num=num>>1; ++indexBit; } re

2016-11-29 21:08:16 287

转载 守护进程

什么是守护进程?Daemon进程:在linux或者unix操作系统中,守护进程(Daemon)是一种运行在后台的特殊进程,它独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件。由于在linux中,每个系统与用户进行交流的界面称为终端,每一个从此终端开始运行的进程都会依附于这个终端,这个终端被称为这些进程的控制终端,当控制终端被关闭的时候,相应的进程都会自动关闭。但是守护进程却能突破

2016-11-21 21:25:09 416

转载 那些不安全的库函数

http://wiki.jikexueyuan.com/project/c-advance/unsafelibfun.html那些不安全的库函数C 和 C++ 不能够自动地做边界检查,边界检查的代价是效率。一般来讲,C 在大多数情况下注重效率。然而,获得效率的代价是,C 程序员必须十分警觉以避免缓冲区溢出问题。C语言标准库中的许多字符串处理和IO流读取函数是导致缓冲区溢

2016-11-21 19:31:20 650

原创 面试26:复杂链表的复制

struct ComplexListNode{int m_nValue;Complex:istNode* m_pNext;ComplexListNode*m_pSibling;}1.复制原始链表的每一个结点,并用m_pNext链接;设置每一个结点的m_pSibling指针。但该指针可能指向此结点的前面或后面,需从头定位时间复杂度为O(n^2)2.哈希表存

2016-11-17 23:22:01 238

转载 你需要知道的16个Linux服务器监控命令

http://blog.jobbole.com/15430/如果你想知道你的服务器正在做干什么,你就需要了解一些基本的命令,一旦你精通了这些命令,那你就是一个 专业的 Linux 系统管理员。有些 Linux 发行版会提供 GUI 程序来进行系统的监控,例如 SUSE Linux 就有一个非常棒而且专业的工具 YaST,KDE 的 KDE System Guard 同样很出色。

2016-11-14 18:27:05 208

转载 epoll模型的理解封装与应用

http://www.tuicool.com/articles/vyuAbay通俗地讲,epoll就是:告诉你有哪些socket准备要做哪些事。在 select 模型中, select 用来检测socket状态,两者的用法大相径庭,但是机制不同。select的检测方法是每次遍历所有需要检测的socket,并返回有动作socket。而epoll的并不会检测所有的句柄状态,通过内核的支持,

2016-11-14 00:41:52 757

转载 linux管道的那点事

出处:http://blog.chinaunix.net/uid-27034868-id-3394243.html管道是一种两个进程间进行单向通信的机制。因为管道传递数据的单向性,管道又称为半双工管道。管道的这一特点决定了器使用的局限性。管道是Linux支持的最初Unix IPC形式之一,具有以下特点:*** 数据只能由一个进程流向另一个进程(其中一个读管道,一个写管道);如果要进

2016-11-14 00:26:23 229

原创 Linux互斥锁

一、创建互斥锁1)静态方式: pthread_mutex_t mutex=PTHREAD_MUTEX_INITIALIZERpthread_mutex_t是一个结构,而PTHREAD_MUTEX_INITIALIZER则是一个结构常量。2)动态方式:int pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexatt

2016-11-13 22:29:49 357

原创 数据库重点

关系模型的完整性约束条件包括三大类:实体完整性、参照完整性和用户自定义的完整性候选码:若关系(二维表)中的某一属性组的值能唯一标识一个元祖,该属性组即为候选码有多个候选码,可选定其中一个为主键候选码的诸属性为主属性,不包含在任何候选码中的属性称为非主属性或非码属性外键:如果关系模式R中的某属性集不是R的主键,而是另一个关系R1的主键,则属性集是关系模式R的外键以另一

2016-11-09 23:26:49 345

转载 TCP的拥塞控制

http://blog.csdn.net/sicofield/article/details/97083831.引言       计算机网络中的带宽、交换结点中的缓存和处理机等,都是网络的资源。在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就会变坏。这种情况就叫做拥塞。       拥塞控制就是防止过多的数据注入网络中,这样可以使网络

2016-11-06 17:44:08 206

转载 reorder-list

Given a singly linked list L: L0→L1→…→Ln-1→Ln,reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→…You must do this in-place without altering the nodes' values.For example,Given{1,2,3,4}, reorder it to

2016-11-01 20:43:37 240

转载 C++拷贝构造函数详解

一. 什么是拷贝构造函数首先对于普通类型的对象来说,它们之间的复制是很简单的,例如:[c-sharp] view plain copyint a = 100;  int b = a;   而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。

2016-10-26 20:42:24 274

转载 ICMP协议

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 到现在为止,我们讲解了网络层中最重要的IP协议(参考协议森林)。IP协议的一个重要补充是是ICMP协议。 ICMP协议ICMP(Internet Control Message Protocol)是介于网络层和传输层的协议。它的主要功能是

2016-10-25 19:50:24 555

原创 容器适配器

标准库定义了三个顺序容器适配器:stack、queue和priority_queue容器、迭代器和函数都有适配器,接受一种已有的容器类型,使其行为看起来像一种不同的类型例如,stack适配器接受一个顺序容器(除array和1foward_list),并使其像一个stack容器适配器支持的操作和类型size_type 一种类型,保存当前类型的最大对象的大小value_ty

2016-10-24 19:59:27 322

转载 字符串的全排列和组合算法

http://blog.csdn.net/hackbuteer1/article/details/7462447   hackbuteer1全排列在笔试面试中很热门,因为它难度适中,既可以考察递归实现,又能进一步考察非递归的实现,便于区分出考生的水平。所以在百度和迅雷的校园招聘以及程序员和软件设计师的考试中都考到了,因此本文对全排列作下总结帮助大家更好的学习和理解。对本文有任何补充之处,欢

2016-10-22 13:28:28 315

转载 QTcpSocket 及 TCP粘包分析

这两天用Qt简单的实现一个tcp多线程client,在此记录下知识。一、长连接与短连接1、长连接   Client方与Server方先建立通讯连接,连接建立后不断开, 然后再进行报文发送和接收。   2、短连接   Client方与Server每进行一次报文收发交易时才进行通讯连接,交易完毕后立即断开连接。此种方式常用于一

2016-10-21 19:56:13 793

转载 标准C++中的string类的用法总结

http://www.cnblogs.com/xFreedom/archive/2011/05/16/2048037.html   xFreedom标准C++中的string类的用法总结相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用。但是如果离开了MFC框架,还有没有这样使用起来非常方便的类呢

2016-10-19 20:38:29 303

原创 数据库(3-1)

关系数据库标准语言SQLSQL的特点1. 综合统一2. 高度非过程化3. 面向集合的操作方式4. 以同一种语法结构提供两种使用方法5. 语言简洁,易学易用关于关系数据语言的说法正确的是BA 关系语言是一种高度过程化的语言B 关系操作的特点是集合操作C 关系数据模型的数据操作方式是一次一记录D 以上说法均错误支持SQL语

2016-10-18 03:44:50 815

原创 数据库基础(2)

关系数据库关系的三类完整性约束实体完整性通常由关系系统自动支持参照完整性早期系统不支持,目前大型系统能自动支持用户定义的完整性反映应用领域需要遵循的约束条件,体现了具体领域中的语义约束用户定义后由系统支持关系域是一组具有相同数据类型的值的集合。例:整数实数介于某个取值范围的整数长度指定长度的字符串集合{‘男’,‘女’}

2016-10-18 03:06:46 964

原创 数据库基础(1)

数据库的定义数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据集合数据库的特征数据按一定的数据模型组织、描述和储存可为各种用户共享冗余度较小数据独立性较高易扩展什么是DBMS数据库管理系统(Database  Management System,简称DBMS)是位于用户与操作系统之间的一层数据管理软件。学生表

2016-10-18 01:54:55 787

转载 函数调用--函数栈

出处:http://www.cnblogs.com/rain-lei/p/3622057.html 作者:小雨淅淅函数调用大家都不陌生,调用者向被调用者传递一些参数,然后执行被调用者的代码,最后被调用者向调用者返回结果,还有大家比较熟悉的一句话,就是函数调用是在栈上发生的,那么在计算机内部到底是如何实现的呢? 对于程序,编译器会对其分配一段内存,在逻辑上

2016-10-17 20:45:31 325

转载 【C++专题】static_cast, dynamic_cast, const_cast探讨

转http://www.cnblogs.com/chio/archive/2007/07/18/822389.html首先回顾一下C++类型转换:C++类型转换分为:隐式类型转换和显式类型转换第1部分. 隐式类型转换又称为“标准转换”,包括以下几种情况:1) 算术转换(Arithmetic conversion) : 在混合类型的算术表达式中, 最宽

2016-10-16 13:01:54 230

转载 双链表的基本操作

http://blog.csdn.net/gaoxiang_/article/details/8279536 双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。      为了练习,我这次设置了哨兵结点,哨兵结点,我个人理解就是我们一般意义上的头结点(是链

2016-10-11 21:35:54 424

转载 打印100以内的素数

#include int main(){ int a,i,j; for(i=2; i<100;i++) //从2到100这些数中找质数 { bool flag = true; for(j = 2;j< i;j++) { if( (i%j) == 0) { flag = false; break; }

2016-10-11 19:03:07 550

原创 字符串笔试题

1、输入一个整数的字符串,把该字符串转换成整数并输出。例如输入字符串“345”,则输出整数345思路:依次扫描字符串,每扫到一个字符,把之前的得到的数字乘以10再加上当前字符表示的数字。注意:还可能包括‘+’或‘-’,表示整数的正负。需要特殊处理考虑非法输入:1)判断指针是否为空2)输入的字符串可能不是数字的字符,碰到则停止3)溢出问题,若溢出,返回0enum Stat

2016-10-10 02:02:22 764

转载 和为S的两个数字

题目描述输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 输出描述:对应每个测试案例,输出两个数,小的先输出思路:数列满足递增,设两个头尾两个指针i和j,若ai + aj == sum,就是答案(相差越远乘积越小)若ai + aj > sum,aj肯定不是答案之一(前面已

2016-10-10 01:34:30 345

转载 Linux每天一点Linux文件存储结构

本文转载http://c.biancheng.net/cpp/html/2733.html C语言中文网,仅方便学习大部分的Linux文件系统(如ext2、ext3)规定,一个文件由目录项、inode和数据块组成:目录项:包括文件名和inode节点号。Inode:又称文件索引节点,包含文件的基础信息以及数据块的指针。数据块:包含文件的具体内容。先说inode理解inode,

2016-09-30 23:23:09 345

转载 Linux每天一点进程管理

本文转载http://c.biancheng.net/cpp/html/2733.html C语言中文网当我们运行程序时,Linux会为程序创建一个特殊的环境,该环境包含程序运行需要的所有资源,以保证程序能够独立运行,不受其他程序的干扰。这个特殊的环境就称为进程。每个 Linux 命令都与系统中的程序对应,输入命令,Linux 就会创建一个新的进程。例如使用 ls 命令遍历目录

2016-09-30 21:17:53 308

转载 经典算法面试题及答案

经典算法面试题及答案 1. 时针分针重合几次表面上有60个小格,每小格代表一分钟,时针每分钟走1/12小格,分针每分钟走1小格,从第一次重合到第二次重合分针比时针多走一圈即60小格,所以60/(1-1/12)=720/11每隔720/11分才重合一次(而并不是每小时重合一次)1440里有22个720/11,如果说算上0点和24点,那也

2016-09-25 02:26:47 2025

转载 C++的Json解析库:jsoncpp和boost

JSON(JavaScript Object Notation)跟xml一样也是一种数据交换格式,了解json请参考其官网http://json.org,本文不再对json做介绍,将重点介绍c++的json解析库的使用方法。json官网上列出了各种语言对应的json解析库,作者仅介绍自己使用过的两种C++的json解析库:jsoncpp(v0.5.0)和Boost(v1.34.0)。 一.

2016-09-25 02:00:59 596

转载 如何处理海量数据(转)

在实际的工作环境下,许多人会遇到海量数据这个复杂而艰巨的问题,它的主要难点有以下几个方面:一、数据量过大,数据中什么情况都可能存在。如果说有10条数据,那么大不了每条去逐一检查,人为处理,如果有上百条数据,也可以考虑,如果数据上到千万级别,甚至 过亿,那不是手工能解决的了,必须通过工具或者程序进行处理,尤其海量的数据中,什么情况都可能存在,例如,数据中某处格式出了问题,尤其在程序处

2016-09-24 23:34:31 395

原创 进程、线程

1)进程:计算机中已运行程序的实体2)程序是指令的集合,进程才是程序的真正运行,同一程序可产生多个进程(一对多的关系),以允许同时多位用户运行同一程序,却不会产生冲突3)进程需要一些资源才能完成工作,如CPU时间,存储器,文件以及IO设备,且依序逐一进行,即任何时间内仅能运行一项进程。3种基本状态运行状态:单处理器每时刻最多只一个进程处于运行就绪状态:进程已处于准备

2016-09-22 22:12:11 351

转载 深度优先搜索与广度优先搜索

转载http://blog.csdn.net/andyelvis/article/details/1728378有两种常用的方法可用来搜索图:即深度优先搜索和广度优先搜索。它们最终都会到达所有连通的顶点。深度优先搜索通过栈来实现,而广度优先搜索通过队列来实现。  深度优先搜索:下面图中的数字显示了深度优先搜索顶点被访问的顺序。为了实现深度优先搜索,首先选择一个起始顶点并需要

2016-09-21 16:59:30 344

原创 sizeof(程序员求职宝典)

单目运算符,不是函数,以字节形式给出了其操作数的存储大小,计算发生在编译时刻,所以它可当做常量表达式使用,且会忽略其括号内的各种运算,如"sizeof(a++);"中的++不执行sizeof的使用方法1)用于变量sizeof(var_name)或sizeof var_name 可以不用括号,但是用更常见2)用于数据类型sizeof(type) 必须使用括号sizeof(

2016-09-17 23:05:21 444

空空如也

空空如也

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

TA关注的人

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