自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

skdkjxy的专栏

好好工作,努力挣钱~柱子

  • 博客(35)
  • 资源 (22)
  • 收藏
  • 关注

转载 ceph存储 磁盘IOPS常识

计算磁盘IOPS的三个因素: 1、RAID类型的读写比 不同RAID类型的IOPS计算公式:RAID类型公式RAID5、RAID3Drive IOPS=Read IOPS + 4*Write IOPSRAID6Drive IOPS=Read IOPS +  6*Write IOPS

2015-02-27 18:53:06 5153

转载 C++学习 闭包(closure)

闭包有很多种定义,一种说法是,闭包是带有上下文的函数。说白了,就是有状态的函数。更直接一些,不就是个类吗?换了个名字而已。一个函数, 带上了一个状态, 就变成了闭包了. 什么叫 "带上状态" 呢? 意思是这个闭包有属于自己的变量, 这些个变量的值是创建闭包的时候设置的, 并在调用闭包的时候, 可以访问这些变量.函数是代码, 状态是一组变量 ,将代码和一组变量捆绑 (bind) , 就形成了

2015-02-27 15:39:33 4041

转载 C++学习 std::tr1::shared_ptr使用的一点体会tr1库介绍

Technical Report 1 是一份规范,描述加入C++标准程序的诸多新技能,以新的class templates 和 function templates 形式体现,针对的题目有哈希表,基于引用计数的智能指针,正则表达式等。大多数TR1机能是以Boost的工作为基础的。TR组件位于std::tr1命名空间中。 tr1::shared_ptr 的使用和boost::shared_p

2015-02-27 15:28:20 1074

转载 C++学习 C++中改变setw(n)的对齐方式

setw(int n)只是对直接跟在<<后的输出数据起作用,而在之后的<<需要在之前再一次使用setw;(Sets the number of characters to be used as thefield width for the next insertion operation.)    n是在输出时分配了n个字符的输出宽度,然后默认的是在n个字符宽度中右对齐输出,可以使用set

2015-02-27 10:04:41 12471

转载 C++学习 std::tr1::shared_ptr、std::tr1::weak_ptr及std::tr1::enable_shared_from_this

在 c++ 98 里面只有一种智能指针,就是 std::auto_ptr,因为具有唯一所有权的特征,所以限制了它的使用范围,比如你无法在容器中使用它。而我们知道 stl 容器是值语义的,如果不能用智能指针管理的话,只有两种办法来使用。一种是类似这样:std::vector names;names.push_back("cyberscorpio");std::string name(

2015-02-26 16:39:10 866

转载 ceph存储 HASH碰撞

如果两个输入串的hash函数的值一样,则称这两个串是一个碰撞(Collision)。既然是把任意长度的字符串变成固定长度的字符串,所以必有一个输出串对应无穷多个输入串,碰撞是必然存在的。一个优良的hash函数 f 应当满足以下三个条件:(1)对于任意y,寻找x,使得f(x)=y,在计算上是不可行的。(2)给定x1∈A,找x2∈B,,使得f(x1)=f(x2),在计算上是不可能的,这也就

2015-02-26 09:57:53 821

转载 嵌入式 Linux下fcntl函数和flock函数区别说明

flock和fcntl都有锁的功能,但他们还有一点小小的区别:1.flock只能加全局锁,fcntl可以加全局锁也可以加局部锁。2.当一个进程用flock给一个文件加锁时,用另一个进程再给这个文件加锁,它会阻塞或者也可以返回加锁失败(可以自己设置)。3.当一个进程用fcntl给一个文件加锁时,用另一个进程去读或写文件时必须先获取加锁的信息,然后在给这个文件加锁。3.当给一个文件加f

2015-02-25 14:11:25 702

转载 嵌入式 Linux下flock函数用法

表头文件  #include  定义函数  int flock(int fd,int operation);  函数说明  flock()会依参数operation所指定的方式对参数fd所指的文件做各种锁定或解除锁定的动作。此函数只能锁定整个文件,无法锁定文件的某一区域。  参数  operation有下列四种情况:  LOCK_SH 建立共享锁定。多个进程可同时对同一个文件作共享

2015-02-25 14:04:32 650

转载 嵌入式 Linux下fcntl函数用法

功能描述:根据文件描述词来操作文件的特性。 文件控制函数         fcntl -- file control头文件:         #include ;          int fcntl(int fd, int cmd);          int fcntl(int fd, int cmd, long arg);          int fcn

2015-02-25 13:59:34 662

转载 C++学习 __attribute__ ((packed)) 的作用

最近在看我们的代码的时候发现声明类型的时候有 __attribute__ ((packed))的结构体类型声明,如下:[cpp]view plaincopyprint?typedef struct Student  {      int SID;      char SName;  }__attribute__((packed)) Sinfo;  typed

2015-02-16 16:49:43 4146

转载 C++学习 STL之一:字符串用法详解

字符串是程序设计中最复杂的变成内容之一。STL string类提供了强大的功能,使得许多繁琐的编程内容用简单的语句就可完成。string字符串类减少了C语言编程中三种最常见且最具破坏性的错误:超越数组边界;通过违背初始化或被赋以错误值的指针来访问数组元素;以及在释放了某一数组原先所分配的存储单元后仍保留了“悬挂”指针。    string类的函数主要有:    Member funct

2015-02-13 17:09:03 549

转载 C++学习 STL之七:STL各种容器的使用时机详解

C++标准程序库提供了各具特长的不同容器。现在的问题是:该如何选择最佳的容器类别?下表给出了概述。但是其中有些描述可能不一定实际。例如:如果你需呀处理的元素数量很少,可以虎落复杂度,因为线性算法通常对元素本身的处理过程比较快,这种情况下,“显性复杂度搭配快速的元素处理”要比“对数复杂度搭配慢的元素处理”来得划算。    作为对上表的补充,使用时:    1.缺省情况下应该使用v

2015-02-13 17:08:12 588

转载 C++学习 STL之六:map/multimap用法详解

map/multimap    使用map/multimap之前要加入头文件#include,map和multimap将key/value当作元素,进行管理。它们可根据key的排序准则自动将元素排序。multimap允许重复元素,map不允许重复元素。map和multimap内部的数据结构也是平衡二叉树。    map和multimap根据元素的key自动对元素进行排序

2015-02-13 17:07:17 797

转载 C++学习 STL之五:set/multiset用法详解

集合使用set或multiset之前,必须加入头文件Set、multiset都是集合类,差别在与set中不允许有重复元素,multiset中允许有重复元素。sets和multiset内部以平衡二叉树实现1.   常用函数1)        构造函数和析构函数set c:创建空集合,不包含任何元素set c(op):以op为排序准则,产生一个空

2015-02-13 17:06:13 1087

转载 C++学习 STL之四:list用法详解

list容器介绍相对于vector容器的连续线性空间,list是一个双向链表,它有一个重要性质:插入操作和删除操作都不会造成原有的list迭代器失效,每次插入或删除一个元素就配置或释放一个元素空间。也就是说,对于任何位置的元素插入或删除,list永远是常数时间。常用函数(1)    构造函数list c:创建一个空的listlist c1(c2):复制另一个同类型元素的list

2015-02-13 16:56:47 864

转载 C++学习 STL之三:deque用法详解

deque函数:deque容器为一个给定类型的元素进行线性处理,像向量一样,它能够快速地随机访问任一个元素,并且能够高效地插入和删除容器的尾部元素。但它又与vector不同,deque支持高效插入和删除容器的头部元素,因此也叫做双端队列。deque类常用的函数如下。(1)    构造函数deque():创建一个空dequedeque(int nSize):创建一个deque,元素个

2015-02-13 16:55:45 604

转载 C++学习 STL之二:vector容器用法详解

vector类称作向量类,它实现了动态数组,用于元素数量变化的对象数组。像数组一样,vector类也用从0开始的下标表示元素的位置;但和数组不同的是,当vector对象创建后,数组的元素个数会随着vector对象元素个数的增大和缩小而自动变化。    vector类常用的函数如下所示:    1.构造函数vector():创建一个空vectorvector(int nSize)

2015-02-13 16:52:28 544

转载 C++学习 traits技术详解

STL模版库非常强调软件的复用,traits技术是采用的重要手段。traits提取不同类的共性,以便能统一处理。traits技术依靠显示模版特殊化来把代码中因类型不同而发生变化的片段拖出来,用统一的接口来包装。这个接口可以包含一个C++类所能包含的任何东西,如内嵌类型、成员函数、成员变量。作为客户的模版代码,可以通过traits模版类所公开的接口来简洁访问。示例:一直整形数组类

2015-02-13 16:50:07 993

转载 C++学习 标准模板库STL介绍

库是一系列程序组件的集合,他们可以在不同的程序中重复使用。C++语言按照传统的习惯,提供了由各种各样的函数组成的库,用于完成诸如输入/输出、数学计算等功能。1. STL介绍标准模板库STL是当今每个从事C++编程的人需要掌握的技术,所有很有必要总结下本文将介绍STL并探讨它的三个主要概念:容器、迭代器、算法。STL的最大特点就是:数据结构和算法的分离,非面向

2015-02-13 16:47:19 648

转载 C++学习 STL之list之用法小结

/*list: 等同于双向链表,内存空间可以是不连续的,通过指针来进行数据的访问   优: 1)插入/删除效率高   缺: 1)不支持随机存取,查询效率较低*/#include iostream>#include string>#include list>using namespace std;void printList(listint> nList)

2015-02-13 16:46:13 610

转载 C++学习 STL之set使用方法小结

/*set/multiset会根据待定的排序准则,自动将元素排序。两者不同在于前者不允许元素重复,而后者允许。1) 不能直接改变元素值,因为那样会打乱原本正确的顺序,要改变元素值必须先删除旧元素,则插入新元素2) 不提供直接存取元素的任何操作函数,只能通过迭代器进行间接存取,而且从迭代器角度来看,元素值是常数3) 元素比较动作只能用于型别相同的容器(即元素和排序准则必须相同)s

2015-02-13 16:35:53 523

转载 嵌入式 errno的一些错误定义编辑

以下来主要自2.6.32的内核代码中的/usr/include/asm-generic/errno.h及errno-base.h,输出错误原因定义归纳整理如下:        #define EPERM 1 /* Operation not permitted */  #define ENOENT 2 /* No such file or directory */  #de

2015-02-13 15:21:03 783

转载 嵌入式 atomic_t相关操作

所谓原子操作,就是该操作绝不会在执行完毕前被任何其他任务或事件打断,也就说,它的最小的执行单位,不可能有比它更小的执行单位,因此这里的原子实际是使用了物理学里的物质微粒的概念。  原子操作需要硬件的支持,因此是架构相关的,其API和原子类型的定义都定义在内核源码树的include/asm/atomic.h文件中,它们都使用汇编语言实现,因为C语言并不能实现这样的操作。  原子操作主要用于实

2015-02-13 08:51:14 659

转载 ceph存储 使用异步I/O大大提高应用程序的性能

学习何时以及如何使用 POSIX AIO APILinux® 中最常用的输入/输出(I/O)模型是同步 I/O。在这个模型中,当请求发出之后,应用程序就会阻塞,直到请求满足为止。这是很好的一种解决方案,因为调用应用程序在等待 I/O 请求完成时不需要使用任何中央处理单元(CPU)。但是在某些情况中,I/O 请求可能需要与其他进程产生交叠。可移植操作系统接口(POSIX)异步 I/O(A

2015-02-13 08:42:30 2679

转载 ceph存储 深入浅出异步I/O模型

从上篇文章的介绍我们知道linux内核根据TCP/IP网络模型,给我们隐藏了传输层以下的网络传输细节,我们的网络应用程序只需要针对socket编程即可。这篇我们立足网络数据包的I/O。谈谈linux的一些I/O知识,以及Java的NIO. 1.  基础知识      我们知道Linux的内核将所有外部设备都可以看做一个文件来操作。那么我们对与外部设备的操作都可以看做对文件进行操作。我们对一

2015-02-13 08:40:45 1432

转载 ceph存储 Linux下libaio的一个简单例子

libaio是Linux下的一个异步非阻塞接口,它提供了以异步非阻塞方式来读写文件的方式,读写效率比较高。首先推荐两个介绍Linux I/O模型的页面,写的很好:http://www.ibm.com/developerworks/cn/linux/l-async/http://www.iteye.com/topic/868702对于libaio的读写过程简单说来就是你发出一个读写请

2015-02-13 08:39:34 1444

转载 C++学习 c++作用域运算符用法(全局变量和局部变量)

通常情况下,如果有两个同名变量,一个是全局变量,另一个是局部变量,那么局部变量在其作用域内具有较高的优先权,它将屏蔽全局变量。作用域运算符代码如下:#includeusing namespace std;int num=10;int main(){   int num;    num=25;    cout    return 0;}程序

2015-02-04 12:29:00 1147

转载 嵌入式 read、pread、write、pwrite等等

在Linux和UNIX中有很多的输入输出函数,有时真是让想跟它攀点关系的菜鸟们束手无策。先来看看都有哪些函数,通过解析与总结,看看能不能让大家能这些函数有个理性的认识,哦,原来是这么回事,也就算我没白花这份闲。内核文件I/O->标准库I/O->高级I/O->IPC中1. read()/write();2. pread()/pwrite();3. getc()/putc();4.

2015-02-03 21:11:55 1832

转载 嵌入式 fprintf和fscanf函数

fscanf函数从一个流中执行格式化输入,fscanf遇到空格和换行时结束,注意空格时也结束。这与fgets有区别,fgets遇到空格不结束。原型:int fscanf(FILE *stream, char *format,[argument...]);返回值:返回实际被转换并赋值的输入项的数目。  %d:读入一个十进制整数。  %i :读入十进制,八进制,十六进制整数,与%d类似

2015-02-03 20:55:44 970

转载 C++学习 std:multimap介绍

multimap 与 map 一样,都是使用红黑树对记录型的元素数据,按元素键值的比较关系,进行快速的插入、删除和检索操作,所不同的是 multimap 允许将具有重复键值的元素插入容器。在 multimap 容器中,元素的键值与元素的映照数据的映照关系,是多对多的,因此,multimap 称为多重映照容器。multimap 与 map 之间的多重特性差异,类似于 multiset 与 set 的

2015-02-03 20:20:44 15669

转载 C++学习 std::map介绍

给出了map的基本用法如插入、查找、删除、遍历等等,同时告诉你如何实现双键map,包括 (1) 只有两个键都匹配才命中目标(2) 两个键中任意一个匹配就命中目标可以扩展到多键(一) 介绍特点:1.map将Key的object和T的Object绑定到一起,因此是一种Pair Associative Container, 表示其value type为 pair。2.

2015-02-03 20:16:13 4368 1

转载 C++学习 std::vector介绍

vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。为了可以使用vector,必须在你的头文件中包含下面的代码:#include vector属于std命名域的,因此需要通过命名限

2015-02-03 20:12:53 687

转载 C++学习 std::set作为一个有序集合

摘要:std::set作为标准库的一个关联容器,实现内部元素进行了排序,使用这特性可以对一组元素进行插入排序。std::set最初的设计是完成数学中“集合”的概念,它提供的接口也是如此。本文简单地介绍一下这一个标准库容器。为了使用std::set,我只需要如下:#include//定义一个整型数据的集合std::setint> set;如同所有的STL容器一样,

2015-02-03 20:09:22 16622

转载 C++学习 std:pair与std:make_pair

pair  vs  make_pair02make_pair constructs a pair object.03templateclassT1, classT2> 04pair make_pair(T1 x, T2 y)05

2015-02-02 19:29:27 2649

原创 ceph存储 centos下添加多个虚拟ip地址的方法(一个网卡)

首先我贴出来我的设置,我以eth2为例:#cat /etc/sysconfig/network-scripts/ifcfg-eth2DEVICE="eth2"BOOTPROTO="static"DHCP_HOSTNAME="inspur"ONBOOT="yes"TYPE="Ethernet"IPADDR=192.168.100.12NETMASK=255.255.2

2015-02-02 15:07:12 1742

osd bmp demo

我把部分代码摘到附件中了,FYI 多路码流添加osd的demo,可以下载,但请不要照搬代码,更不要随意传播,谢谢!

2015-06-25

boost中文手册C++

boost中文手册C++ boost库让我们更快、更好地使用C++进行大型系统或者服务器开发工作,提高工作效率,很值得一看!

2015-05-21

tracepoint_lttng使用详解

tracepoint_lttng使用详解,主要是对函数耗时进行定性的统计,对性能优化方案有着举足轻重的效果!LTTng 是一个 Linux 平台开源的跟踪工具,是一套软件组件,可允许跟踪 Linux 内核和用户程序,并控制跟踪会话(开始/停止跟踪、启动/停止事件 等等)。这些组件被绑定如下三个包: •LTTng-tools:库和用于跟踪会话的命令行接口 •LTTng-modules:允许用 LTTng 跟踪 Linux 的 Linux 内核模块 •LTTng-UST:用户空间跟踪库

2015-03-23

lz4-r127.tar.gz

这个源码很不好早,,在此提供给大家参考和使用

2015-03-10

oracle多实例创建和DataGuard配置DEMO

oracle多实例创建和DataGuard配置,欢迎下载,个人觉得还是很不错的哦

2015-03-05

多路径multipath配置文档和相关概念

一、什么是multipath 普通的电脑主机都是一个硬盘挂接到一个总线上,这里是一对一的关系。而到了有光纤组成的SAN环境,由于主机和存储通过了光纤交换机连接,这样的话,就构成了多对多的关系。也就是说,主机到存储可以有多条路径可以选择。主机到存储之间的IO由多条路径可以选择。

2015-01-07

paxos 算法 分析

很不错的paxos算法分析文档,值得一看,虽不能深入研究,但是可以初步了解!

2014-12-17

ceph-fs-rpm-build

对于,在redhat或者centos上进行建立rpm,可以说是一个必备的技能,由于项目需求,需要进行rpm包建立,故记录了rpm建立过程,供大家参考!

2014-12-08

centos7 ceph0.87

编译0.87版本ceph源码,并在centos7上成功搭建集群,并测试存储,包括相关rpms以及codes和最新ceph.conf

2014-11-24

vimrc_best

很好,我的用的很舒服,给大家看看,虽然我也从别的地方收集的,但是觉得对大家有帮助,所以分享一下!

2014-11-20

vimrc 配置文件

vimrc配置文件,精华配置,不错!

2014-11-20

centos_netcard_bonding

给大家分享一下,我成功配置的双网卡聚合的示例demo,其实就是相关的配置文件,只要放在对应的目录下就可以了

2014-11-19

Apache2-http-conf

Apache2-http-conf,可以实现在x86以及Linux下实现http上传或者下载服务

2014-10-24

aac+h264封装MP4

aac+h264封装MP4,适用于我们项目的平台,需要使用的朋友可以修改相关参数,有问题可以反馈给我skdkjxy@163.com,谢谢

2014-10-23

uboot-hi3518c配置表

uboot-hi3518c配置表(适用本项目平台),这是仅适用RMII 网络模式!

2014-10-09

一眼看出NALU中SPS与PPS与SEI与IDR与P帧

一眼看出NALU中SPS与PPS与SEI与IDR与P帧

2014-09-30

使用 libevent 和 libev 提高网络应用性能

使用 libevent 和 libev 提高网络应用性能

2014-09-28

odb示例DEMO

odb示例DEMO,仅供大家参考交流……

2014-09-28

C/C++面试题

经典嵌入式、笔试面试题目大全,这里包含了面试笔试的程序题目,和一些关键字的解析

2013-01-10

空空如也

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

TA关注的人

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