- 博客(38)
- 资源 (20)
- 收藏
- 关注
翻译 Chain replication for supporting high throughput and availavility
Chain replication是一种备份协议,用于支持大规模存储(更多是kv存储),获取高吞吐量和高可用性同时提供强一致性保障,提供分布式存储服务。链式备份本质上是主从备份的一种更高效的复用。...
2019-06-25 21:47:16
594
转载 _T 未定义错误
今天编写c语言程序,编译时出现"_T"未定义错误时,在头文件中添加引用tchar.h头文件就不会再报错了#include <tchar.h>
2018-03-28 12:18:05
3398
2
原创 fan-out的定义
找了中文意思,没有找到!fan-out: refers to the number of pointers per node that the tree is having.即,树中每个结点的孩子结点的个数,或者是每个结点的指针的个数。...
2018-03-15 09:50:16
2076
原创 snapshot快照
1、从网上找到的定义,SNIA(存储网络行业协会)对快照的定义:关于指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像。快照可以是其所表示的一个副本,也可以是数据的一个复制品。2、从技术的角度来看,快照是指向保存在存储设备中的数据的引用标记或指针。类似,快照作为一个目录表,被计算机作为完整的数据备份来对待。3、快照有三种形式:基于文件系统、基于子系统和
2018-01-29 16:10:09
918
原创 execute in place-XIP
维基百科的解释In computer science, execute in place (XIP) is a method of executing programs directly from long term storage rather than copying it into RAM. It is an extension of using shared memory to red
2018-01-10 16:16:27
1382
原创 matlab之eval函数
1、功能将字符串转换为matlab可执行语句2、实例a = 'b = 1';如此执行之后,就是 a 为字符串,而eval(a),即eval('b=1')则是将字符串b=1当成表达式来处理,即b=1,则生成变量,并将b赋值为1。
2018-01-05 14:58:13
1079
原创 matlab之islogical函数
1、功能判断对象是否为逻辑类型的数据(true/false)2、举例A = [true 1 false 0 ]tf = islogical(A),那么tf = 0B = [true true false false]tf = islogical(B),那么tf =1
2018-01-04 15:45:08
4530
原创 matlab之numel函数
1、功能返回数组中元素的总数2、用法n = numel(A)3、举例>> a = rand(4);>> a(:, :, 2) = a'a(:,:,1) =0.1190 0.5853 0.5060 0.54720.4984 0.2238 0.6991 0.13860.9597 0.7513 0.8909 0.14930.34
2018-01-04 15:29:38
2257
原创 matlab之iscell函数
1、功能判断安给定数组是否是cell array2、语法格式tf = iscell(A)如果A是 cell array,则返回1,否则返回0
2018-01-04 15:19:08
5602
原创 matlab之isstruct函数
1、功能用来判断,输入是否是结构数组2、格式tf = isstruct(A)如果A是结构数组,则tf=1,否则,tf = 0;3、举例patient.name = 'myname'patient.billing = 100isstruct(patient)ans = 1
2018-01-04 14:51:30
6201
原创 matlab之ones函数和zeros函数
ones产生全1数组zeros产生全零数组如:ones(a,b)产生a行b列全1数组ones(a)产生a行a列全1数组zeros类似
2018-01-04 13:27:53
3669
原创 matlab之find函数
1、功能为了找到矩阵或者是数组,向量中的非零元素2、用法(1) find(x)x = [1 0 4 3 0 0 0 2 2]index = find(x),返回x中非零元素的序号,从1开始。index = 1 3 4 8 9如果 x =[3 2 0;-5 0 7;0 0 1],那么find(x)得到的是1 1 32 1 -51 2 2
2018-01-04 10:42:29
458
原创 matlab之linspace函数
1、用法linspace(x,y,n)2、功能linspace是Matlab中的一个指令,用于产生x,y之间n点行矢量。其中x是起始值、y是中止值,n表示元素个数,如果缺省,则默认n为100。3、例子linspace(1,10,2)为1 ,10linspace(1,10,4)为1,,4,,7,10
2018-01-04 10:34:02
5030
原创 matlab之isnumeric函数
函数名:isnumeric函数功能:判断输入参数是否是数字类型(包括浮点型和整型)用法:t = isnumeric(A),如果A是数字类型,返回1,否则,返回0。
2018-01-03 19:55:00
9912
原创 matlab之struct
1、结构体的创建a 使用直接引用方式定义结构比如,建立一个复数变量x:x.real = 0;x.imag = 0;b 使用struct函数创建结构s = sturct('field1',values1,'field2',values2,…);比如:s = struct('type',{'big','little'},'color',{'blue','red'},'x
2018-01-03 18:47:56
832
原创 matlab之length函数
1、size获取数组的行数和列数2、length数组长度,即行数和列数中的较大值,相当于max(size(a))3、numel返回元素总数
2018-01-03 16:56:01
109562
原创 matlab之repmat函数
1、语法B = repmat(A,m,n)B = repmat(A,[m n])B = repmat(A,[m n p ...])2、B = repmat(A,m,n) 与 B = repmat(A,[m n])用法一样将矩阵A复制m*n块,即把A视为B的元素,B 由 m*n 个A平铺而成。B 的维数是 [size(A,1)*m,size(A,2)*n]举例来看:A
2018-01-03 16:24:23
1232
原创 Matlab之isfield函数
1、函数功能:判断输入是否是结构体数组的成员2、调用格式f = isfield (s,'fieldname')检查结构体S是否包含由fieldname指定域,如果包含,返回逻辑1;如果不包含fieldname域或者S不是结构体类型的,返回逻辑0.tf = isfield(S, C)其中C是一个包含多个字符串的cell array,isfield判定由这些字符串表示的域是否是st
2018-01-02 20:37:44
20210
原创 matlab之nargin,nargout,
1、nargin功能描述:返回函数输入参数数量,如果一个函数有可变数量的参数,参数数量为负值2、nargout功能描述:返回函数输出参数的数量3、varargin功能描述:一个cell数组用法:function test(varargin),其中varargin包含了用户输入的参数4、varargout功能描述:一个cell数组,用来存储输出参数。利用它的好处是输
2018-01-02 20:14:42
2412
原创 Matlab之feval函数
1、feval函数的语法: a. [y1,y2,y3...] = feval (fhandle,arg1,arg2...) b. [y1,y2,y3...] = feval (fname,arg1,arg2...)2、描述第一种用法中的fhandle是一个函数的handle,arg1,arg2是该函数的参数第二中用法中的fname是一个字符串表示的函数名称。注意,该名称必须是简单名称,也即不能包
2018-01-02 16:06:43
7341
原创 Matlab之exist函数使用说明
exist函数使用,包含两种形式1、a = exist(b) 若 b 存在,那么 a = 1 ;否则 a = 0;2、a = exist('name','kind') kind,即name的类型,分为:builten(内建类型),class(类),dir(文件夹),file(文件或者文件夹),var(变量)
2018-01-02 15:57:33
3976
原创 Matlab之options的使用
1、Matlab提供options向量来对优化函数进行参数设置,有18个元素2、介绍该18个元素Options(1)=0(默认值) 功能:控制显示,优化过程中控制输出信息。0表示不显示; 1表示显示; -1表隐藏信息。 Options(2)=1e-4 功能:控制x的精度,自变量x的最低精度终止条件。当所有终止条件都满足的时候,优化终止。Options(3)=1e-4 功能:控制 f 精度,目
2018-01-02 15:37:58
31943
转载 __attribute__((packed))
1. __attribute__ ((packed)) 的作用就是告诉编译器取消结构在编译过程中的优化对齐,按照实际占用字节数进行对齐,是GCC特有的语法。这个功能是跟操作系统没关系,跟编译器有关,gcc编译器不是紧凑模式的,我在windows下,用vc的编译器也不是紧凑的,用tc的编译器就是紧凑的。例如:在TC下:struct my{ char ch; int a;} siz
2017-12-28 14:56:07
229
原创 #define NAME 0x3ULL
十六进制包括0-f,没有见过U和L,特意上网上查了一下,后缀ULL是指unsigned long long 。
2017-12-28 14:45:58
1685
原创 C语言之typeof关键字
直接从别人的部分例子拿过来,不知道算不算引用,还是加一下吧原文:http://hi.baidu.com/leowang715/blog/item/b0b96d6f972e7dd080cb4a06.html使用typeof的声明示例下面是两个等效声明,用于声明int类型的变量a。typeof(int) a; /* Specifies variable a whic
2017-12-28 13:55:39
525
原创 C语言之左移和右移运算符
1、左移运算符格式:a将a这个数的各二进制位左移b位,要求b必须是非负整数,移动过程中,右边空出的位用0填补,高位左移溢出则舍弃该高位。举例来看:a=5,二进制位:0000 0000 0000 0000 0000 0000 0000 0101a000即,右边空出来的三位补0,左边的0都舍弃,左右两边的三个0没有关系。2、右移运算符格式:a>>b将a这个数的各二进
2017-12-28 12:56:24
21971
3
原创 little-endian&big-endian
1、书中常说的小端、大端。2、那么如何区分?从网上查到的,大端:高尾端,即表示尾端放在高地址;小端:低尾端,即表示尾端放在低地址。可惜不知道怎么把图片放上去。
2017-12-28 12:24:06
130
原创 linux中lost+found目录的作用
1、该目录是使用标准的ext2/ext3档案系统格式才会产生的一个目录,目的在于当系统发生错误时,将一些遗失的片段放置在这个目录下。这个目录通常会在分隔槽的最顶层存在。如/lost+found2、该目录一般情况是空的。只有root用户才能打开。3、lost+found目录的文件通常是未链接的文件,这些文件还被一些进程使用(数据没有删除)。4、每个分区默认都有一个lost+found
2017-12-27 15:45:35
17622
3
原创 #undef 的用法
用法:#undef 标识符其中,标识符是一个宏名称。如果标识符当前没有被定义成一个宏名称,则忽略该指令。如果定义预处理器标识符,那么它将保持已定义状态且在作用域内,直到程序结束或者使用#undef指令取消定义。例如:起初定义了一个标识符,之后#undef 标识符,在该行之后,又调用该标识符,则程序会编译出错。列举一个实例:从网上看到的#include #include
2017-12-27 15:19:58
3966
原创 C语言中的static inline
内联函数有些类似于宏。内联函数的代码会被直接嵌入在它被调用的地方,调用几次就嵌入几次,不使用Call指令,如此省去了函数调用时的额外开销,如保存和恢复函数返回地址等,可以加快速度。不过如果调用次数过多,会使执行文件变大,降低速度。相比于宏,内核开发者一般更喜欢使用内联函数,因为内联函数没有长度限制、格式限制。编译器还可以检查函数调用方式,防止误用。static inline的内联函数,一般
2017-12-25 19:18:40
679
原创 _u32是干嘛的
从知乎上看过来的,自己也总结一下。1、在驱动开发中,建议使用_u32或者u_int32_t代替unsigned int等默认的数据类型。目的在于:清晰的说明这个变量占用多大内存,即32。原因:不能确定你的代码以后是否只在一个平台上运行,有可能会移植到非Linux平台,不同的CPU平台,比如64位环境、非x86环境。而C语言中并未明确规定int占多少字节,所以_u32就是告诉别人,这变量占4
2017-12-25 18:22:15
3714
原创 深入Linux内核架构之内存管理(2)
1、分配阶 allocation order ,表示内存区中页的数目取以2为底的对数。举例来看,阶0的分配由一个页面组成,阶1的分配包括2^1=2个页,阶2的分配包括2^2=4个页,以此类推。2、Linux内存模型有三种:CONFIG_FLATMEM ,CONFIG_DISCONTICMEM , CONFIG_SPARSEMEM内存模型(memory model),针对物理内存的分布。
2017-12-23 12:57:02
292
原创 深入Linux内核架构之内存管理(1)
1、内存管理是内核最复杂同时也是重要的一部分。特点:非常需要处理器和内核之间的协作。2、处理器存在虚拟地址空间:划分为两个部分,底部较大,用于用户进程(会改变);顶部较小,用于内核(保持不变)。当前假定的比例是3:13、有两种类型计算机,分别以不同的方法管理物理内存(1)UMA计算机(uniform memory access),一致内存访问,将可用内存以连续方式组织起来。
2017-12-23 10:19:34
175
原创 c结构之位域bit field
刚开始看源码,真是感觉哪哪都不会啊,啊啊啊啊啊啊!好吧,看到了位域,额,其实刚看到,连是这个类成员叫位域都不清楚!位域bit field:就是把一个字节中的二进制位划分为几个不同的区域,并给每个区别声明一个名称和位数(单位bit)。如此,就能够把几个不同的对象用一个字节的二进制位域来表示。定义:struct 位域结构名{类型说明符 位域名:位域长度;}
2017-12-22 19:20:30
282
原创 头文件包含在<>和“”之间的区别
1、如果头文件包含在,这个认为该头文件是标准头文件,引用的是编译器的类库路径里面的头文件。2、如果头文件包含在“ ”当中,引用的是自己程序目录的相对路径中的头文件,该头文件为非系统头文件。举例:1、当前我编译器定义的自带头文件在引用在c:\user\doc\下面,那么include引用的就是c:\user\doc\stdio.h这个头文件,使用的是绝对路径。2、假如,当前我
2017-12-22 17:24:51
2597
原创 #ifndef,#define,#endif使用
自从大一上学期学完c语言之后,就没有在学过c语言了,现在由于学习需要,又要将c语言重新拾起来。而快速的学习一门语言(当然是有了一些基础了的),就是直接看源码,看的不会的,就去立马学习!好了,源码学习开始!首先,本人使用understand阅读源码神器进行阅读源码。随手打开了一个.h头文件,跳过备注,之后就是#ifndef、#define,还有后面的#endif,这是干嘛用的啊!基础类型的c语言
2017-12-22 16:28:16
270
CMM理论与实践往年试题及答案
2017-12-29
设计模式ppt+试题
2017-12-29
软件开发文档格式总结
2017-12-29
邻接表存储的图相关算法的实验验证+设计算法,求自由树的直径
2017-12-29
二叉树相关算法的实验验证+判别给定二叉树是否为完全二叉树。
2017-12-29
检查一个算术表达式中的括号是否正确匹配。
2017-12-29
数据结构实验课之单链表类实现和顺序栈实现
2017-12-29
understand软件安装包
2017-12-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人