自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (52)
  • 收藏
  • 关注

转载 new 二维数组

1. A (*ga)[n] = new A[m][n]; ... delete []ga; 缺点:n必须是已知 优点:调用直观,连续储存,程序简洁(经过测试,析构函数能正确调用) 2. A** ga = new A*[m]; for(int i = 0; i < m; i++) ga[i] = new A[n]; ... for(int i = 0; i < m; i++)

2012-08-31 14:15:56 542

转载 new一个二维数组

⑴new可用来生成动态无名变量,   如 int *p=new int;  int *p=new int [10]; //动态数组的大小可以是变量或常量;而一般直接声明数组时,数组大小必须是常量   又如:int *p1; double *p2; p1=new int(12);  p2=new double [100];  l 分别表示动态分配了用于存放整型数据的内存空间,将初值

2012-08-31 14:09:46 845

转载 Windows和Linux环境下Memcached安装与配置

一、memcached安装配置windows平台安装1、memcached-1.2.6-win32-bin.zip下载地址: http://code.jellycan.com/memcached/,执行memcached.exe -d install 安装。2、守护进程方式启动:memcached.exe -m 512 -d start-d为守护进程启动,不能指定端口 默认端口

2012-08-27 10:33:59 631

原创 memcached 结构体详解

/* * NOTE: If you modify this table you _MUST_ update the function state_text *//** * Possible states of a connection. */enum conn_states { conn_listening, /**< the socket which listens for

2012-08-18 17:14:01 947 1

原创 memcached_1.4.14之process_get_command解析

/* ntokens is overwritten here... shrug.. */static inline void process_get_command(conn *c, token_t *tokens, size_t ntokens, bool return_cas) { char *key; size_t nkey; int i = 0; item

2012-08-17 17:12:51 1041

原创 memcached 之token_t

typedef struct token_s { char *value; size_t length;} token_t;static size_t tokenize_command(char *command, token_t *tokens, const size_t max_tokens) { char *s, *e; size_t ntokens = 0

2012-08-17 16:37:31 1237

原创 netsh wlan start hostednetwork

netsh wlan set hostednetwork ssid=这里是名称 key=这里是密码netsh wlan start hostednetwork

2012-08-17 14:30:29 2437

转载 Memcached的CAS机制的实现

CAS,又称Compare-and-Swap,代表一种原子操作。Memcached的CAS机制解决的问题及其原理:1. 实现了Check-and-Set原子操作功能;2. 其使用方式为:首先使用gets指令一个key-value及key对应value的版本号;其次操作产生新的value值;最后使用cas指令重新提交key-value,并附带刚刚获得到的版本号;3. 当服务端判断ca

2012-08-17 14:21:22 2076

转载 Memcached 结构分析之各个结构体详解(包括set参数)

Memcached 结构分析     Memcached是一个分布式的内存缓存库,正好自己想写个cache的模块,那么就偷偷师吧。     功能库看的是实现原理和思路,性能库看的是实现细节,memcahed是属于一个看性能的库(实现cache功能的模块很多,但是性能就有高低了) 1、memcached的数据交互协议    memcached是分布式的内存缓存服务器,它是通过

2012-08-17 09:01:00 1872

转载 Memcached源码分析之内存管理篇之item结构图及slab结构图

.Memcached源码分析之内存管理篇 博客分类: linuxc .使用命令 set(key, value) 向 memcached 插入一条数据, memcached 内部是如何组织数据呢 一 把数据组装成 itemmemcached 接受到客户端的数据后, 把数据组装成 item, item 的格式如下:     图1 struct item 的结构

2012-08-15 16:52:02 6489 2

转载 memcached源码剖析之内存管理

C语言的内存管理一直是开发者绕不过去的坎,像memcached这种接收大量请求的框架来说,频繁的内存调用和内存泄露是名副其实的性能杀手。malloc/free有三大缺点:1.容易造成内存泄露;2.频繁调用会造成大量内存碎片无法回收重新利用,降低内存利用率;3.作为系统调用,其系统开销远远大于一般函数调用。现在最常用的内存管理方案是使用内存池替代malloc/free调用,内存池方案的基本思想是预先

2012-08-14 16:57:09 1380

转载 memcached源代码之process_get_command add_msghdr iov

本文针对memcached 1.21 for windows(主要原因是Linux实在缺乏一种简单易用的C++ IDE,使用gdb调试我会发疯的,code::block挺不错的,但是感觉还是不如VC,我非常喜欢VC/VS的调试功能,其中几个特性包括随便拖变量到watch窗口,在watch窗口可以编辑被观察的变量,鼠标悬停时显示变量的值。这几个特性是我希望一个调试器所应该必备的),其源代码可在htt

2012-08-14 11:48:38 1341

转载 memcached之网络处理流程之conn_new_cmd

memcached主要通过设置/转换连接的不同状态,来处理事件.static int server_socket(int port, enum network_transport transport,FILE *portnumber_file) {listen_conn_add = conn_new(sfd, conn_listening, EV_READ | EV_PERSIST,

2012-08-14 10:20:59 1525 1

转载 Memcached drive_machine 函数分析_process_update_command

关于Memcached的文章并不少,想更多了解Memcached的源代码,请看参考文献。这些文献对于drive_machine()函数的描述比较简略,我们只是把未展开的分析展开。补充几篇文章都没有细化的地方。memcached的核心使用的是libevent来处理网络IO事件,libevent需要指定一个主循环函数,由这个函数对IO事件进行集中处理。 conn_new()用于

2012-08-14 09:18:54 1584

转载 memcached 参数详解

memcached 1.4.2   -p       监听的TCP端口(默认: 11211)   -U       监听的UDP端口(默认: 11211, 0表示不监听)   -s      用于监听的UNIX套接字路径(禁用网络支持)   -a      UNIX套接字访问掩码,八进制数字(默认:0700)   -l   监听的IP地址。(默认:INADDR_ANY,所有地址

2012-08-13 15:06:19 966

转载 Memcached源码分析(线程模型)

目前网上关于memcached的分析主要是内存管理部分,下面对memcached的线程模型做下简单分析有不对的地方还请大家指正,对memcahced和libevent不熟悉的请先google之先看下memcahced启动时线程处理的流程memcached的多线程主要是通过实例化多个libevent实现的,分别是一个主线程和n个workers线程无论是主线程还是worke

2012-08-13 13:50:25 659

转载 memcached源码学习-hashtable

今天来介绍memcached中hashtable部分的源码,hash部分的源码主要分布在assoc.h/c、hash.h/c中,总得来说代码比较简单,这里就稍微介绍一下。         hashtable通常包括哈希函数和解决冲突的方法两个最主要的因素,memcached使用的哈希函数为Bob Jenkins在1996年发明的,定义位于hash.h中,实现在hash.c中,作者与2006年时

2012-08-10 17:09:00 726

转载 高位优先与低位优先

Endians是什么意思?它是数据在内存中的排列顺序。在微处理器中,象long/DWORD(32 bits) 0x12345678 这样的数据总是按照高位优先(BIG ENDIAN)方式存放的。但在内存中,数据存放顺序则因微处理器厂商的不同而不同。数据大小的不同:Byte:一个字节,标记为byte 0Word:二个字节,从byte 0到byte 1Long : 四个字节,从byte

2012-08-10 15:04:54 1630

转载 xx is not in the sudoers file 问题解决

我用的是redhat5.4,在一般用户下执行sudo命令提示llhtiger is not in the sudoers file. This incident will be reported.解决方法:一、$whereis sudoers -------找出文件所在的位置,默认都是/etc/sudoers         二、 #chmod u+w /etc/sudoers    以超

2012-08-09 16:31:47 575

转载 memcache中内存管理源码剖析

memcahce采用了内存页面,内存页面上的内存块技术实现了内存管理器,对item的指针采用了hashtable的方法,通过item的key值实现快速定位查找item指针的方法,这里详细剖析一下实现的关键代码.   首先是内存管理,在Slabs.c代码中实现.   (1).void slabs_init()void slabs_init(const size_t limit, cons

2012-08-08 11:23:57 843

转载 Memcached深度分析

Memcached是danga.com(运营LiveJournal的技术团队)开发的一套分布式内存对象缓存系统,用于在动态系统中减少数据库负载,提升性能。关于这个东西,相信很多人都用过,本文意在通过对memcached的实现及代码分析,获得对这个出色的开源软件更深入的了解,并可以根据我们的需要对其进行更进一步的优化。末了将通过对BSM_Memcache扩展的分析,加深对memcached的使用方式

2012-08-07 15:51:44 687

Enhancing the Scalability of Memcached

Enhancing the Scalability of Memcached

2013-02-22

Linux多核绑定硬件中断到不同 CPU

Linux多核下绑定硬件中断到不同 CPU

2013-02-21

内核分析—中断

1. 中断 1. 软中断 2. 硬中断 3. 定时器代码分析 4. from aka 1. 硬件中断 2. 软中断 5. from lisolog 1. index 2. 内部中断 3. 外部中断 4. 后续处理 6. 软中断代码线索 7. 2. 4软中断机制

2013-02-21

visual C++2010入门经典(英文原自版)

visual C++2010入门经典(英文原自版).pdf

2012-10-31

opencl规范中文版

opencl规范中文版 说的通俗易懂 适合初学者

2012-10-24

Google_C++编码规范_中文.pdf

李开复: 刚才发现Google的C++编码规范已经公开了,那就说两句,我认为这是地球上最好的一份C++编程规范,没有之一,建议广大国内外IT研究使用。 是google的 C++编码规范,确实很好的文档,各位有兴趣可以翻阅

2012-10-15

无锁编程简介

无锁编程简介 清晰明了 适合刚接触无锁编程的人

2012-08-31

memcached-1.2.6-win32-src

memcached的windows下可以运行的代码,win32版本的

2012-08-27

memcached_allocator_slab_langwan

memcached_allocator_slab_langwan.pdf,一位高手写的关于memcached的slab分配及LRU机制,清晰明了,一看就懂,谢谢作者!

2012-08-22

understand2.0

很强大的代码分析工具 帮你快速的分析出代码结构 流程

2012-08-18

Memcached原理和使用详解

Memcached原理和使用详解 一位前辈总结的 很好

2012-08-13

memaslap 使用说明

memaslap 使用说明 基于ubuntu 11.04 memcached 测试环境搭建

2012-08-10

Google_C++_Style_Guide

Google的编码规范 让你的代码更清晰 可读性更强 编程必备

2012-07-31

The OpenCL Specification

The OpenCL Specification Khronos OpenCL Working Group写的

2012-07-24

AMD APP SDK 安装指南

AMD APP SDK 安装指南 可以让一个新手快速的安装上AMD APP SDK 包括windows和linux

2012-07-23

malloc源码分析

malloc源码分析 很详细的分析了malloc的分配方式,对齐方式等,看了比较容易理解,想学的看看吧。

2012-07-03

memcached 网络部分详解

自己总结的memcached的网络部分,主要是TCP 套接字编程方面,有兴趣的可以看看。

2012-07-02

Memory System on Fusion APU

讲述了APU上的GPU访问内存的模式,有很多小的code sample,方便理解和学习opencl编程(GPU优化方面)。

2012-06-29

AMD_Accelerated_Parallel_Processing_OpenCL_Programming_Guide

AMD出的教程,全面,深入浅出,看完这本书就可以完全掌握opencl并行了

2012-06-28

Memcached源码剖析笔记

根据代码,深入的剖析了memcached的原理,以及使用方法,让人快速的学习memcached。

2012-06-27

Git-2.14.1-64-bit.exe

Git-2.14.1-64-bit.exe git for windows. Git-2.14.1-64-bit.exe git for windows. Git-2.14.1-64-bit.exe git for windows.

2017-09-22

Onvif对接Rtsp实时媒体流(基于live555)

Onvif对接Rtsp实时媒体流(基于live555);Onvif对接Rtsp实时媒体流(基于live555);Onvif对接Rtsp实时媒体流(基于live555)

2017-09-22

onvif源码(V2.4)

v2.4版本的onvif源代码,实现了客户端和服务器的发现功能。v2.4版本的onvif源代码,实现了客户端和服务器的发现功能。

2017-09-22

C语言经典编程900例 经典标准代码 源代码

C语言经典编程900例 经典标准代码 源代码

2013-07-01

RFC2326(RTSP) 中文版

实时流协议(RTSP)是应用层协议,控制实时数据的传送。RTSP提供了一个可扩展框架,使实时数据,如音频与视频的受控、点播成为可能。数据源包括现场数据与存储在剪辑中数据。该协议目的在于控制多个数据发送连接,为选择发送通道,如UDP、组播UDP与TCP,提供途径,并为选择基于RTP(RFC1889)上传送机制提供方法。

2013-05-09

RFC3550中文版 (RTP/RTCP)

本文描述RTP (real-time transport protocol),实时传输协议。RTP 在多点传送(多播) 或单点传送(单播)的网络服务上,提供端对端的网络传输功能,适合应用程序传输实时数据, 如:音频,视频或者仿真数据。RTP 没有为实时服务提供资源预留的功能,也不能保证QoS (服 务质量)。数据传输功能由一个控制协议(RTCP)来扩展,通过扩展,可以用一种方式对数据 传输进行监测控制,该协议(RTCP)可以升级到大型的多点传送(多播)网络,并提供最小限 度的控制和鉴别功能。RTP 和RTCP 被设计成和下面的传输层和网络层无关。协议支持RTP 标 准的转换器和混合器的使用。 本文的大多数内容和旧版的RFC1889 相同。在线路里传输的数据包格式没有改变,唯一的改变 是使用协议的规则和控制算法。为了最小化传输,发送RTCP 数据包时超过了设定的速率,而 在这时,很多的参与者同时加入了一个会话,在这样的情况下,一个新加入到(用于计算的可升 级的)计时器算法中的元素是最大的改变。 目录(Table of Contents) 1. 引言 (Introduction) 1 1 术语(Terminology) 2 RTP使用场景(RTP Use Scenarios) 2 1 简单多播音频会议( Simple Multicast Audio Conference) 2 2 音频和视频会议(Audio and Video Conference) 2 3 混频器和转换器(Mixers and Translators) 2 4 分层编码(Layered Encodings) 3 定义(Definitions) 4 字节序,校正和时间格式(Byte Order, Alignment, and Time Format) 5 RTP数据传输协议(RTP Data Transfer Protocol) 5 1 RTP 固定头域(RTP Fixed Header Fields) 5 2 多路复用RTP 会话(Multiplexing RTP Sessions) 5 3 RTP 头的配置文件详细变更(Profile-Specific Modifications to the RTP Header) 5 3 1 RTP 报头扩展(RTP Header Extension) 6 RTP控制协议(RTP Control Protocol)-- RTCP 6 1 RTCP包格式(RTCP Packet Format) 6 2 RTCP传输间隔(RTCP Transmission Interval) 6 2 1 维护会话成员数目(Maintaining the number of session members) 6 3 RTCP包的发送与接收规则(RTCP Packet Send and Receive Rules) 6 3 1 计算RTCP 传输间隔(Computing the RTCP Transmission Interval ) 6 3 2 初始化(Initialization) 6 3 3 接收RTP 或RTCP (非BYE)包(Receiving an RTP or Non-BYE RTCP Packet) 6 3 4 接收RTCP (BYE)包(Receiving an RTCP BYE Packet) 6 3 5 SSRC 计时失效(Timing Out an SSRC ) 6 3 6 关于传输计时器的到期(Expiration of Transmission Timer) 6 3 7 传输一个 BYE 包(Transmitting a BYE Packet) 6 3 8 更新we_sent (Updating we_sent) 6 3 9 分配源描述带宽(Allocation of Source Description Bandwidth ) 6 4 发送方和接收方报告(Sender and Receiver Reports) 6 4 1 SR:发送方报告的RTCP包(SR: Sender report RTCP packet) 6 4 2 RR:接收方报告的RTCP 包(RR: Receiver Report RTCP Packet) 6 4 3 扩展发送方和接收方报告(Extending the Sender and Receiver Reports ) 6 4 4 分析发送方和接收方报告(Analyzing Sender and Receiver Reports ) 6 5 SDES:源描述RTCP包(SDES: Source description RTCP packet) 6 5 1 CNAME:规范终端标识符的SDES 数据项(CNAME: Canonical End-Point Identifier SDES Item) 6 5 2 NAME:用户名的SDES 数据项(NAME: User name SDES item) 6 5 3 EMAIL:电子邮件地址的SDES 数据项(EMAIL: Electronic Mail Address SDES Item) 6 5 4 PHONE:电话号码的SDES 数据项(PHONE: Phone Number SDES Item) 6 5 5 LOC:地理用户地址的SDES 数据项(LOC: Geographic User Location SDES Item) 6 5 6 TOOL:应用程序或工具名字的SDES 数据项(TOOL: Application or Tool Name SDES Item) 6 5 7 NOTE:通知/状态的SDES 数据项(NOTE: Notice/Status SDES Item) 6 5 8 PRIV:私有扩展的SDES 数据项(PRIV: Private Extensions SDES Item) 6 6 BYE:Goodbye RTCP 包(BYE: Goodbye RTCP packet) 6 7 APP:定义应用程序的RTCP 包(APP: Application-Defined RTCP Packet) 7 RTP转换器和混频器(RTP Translators and Mixers) 7 1 概述(General Description ) 7 2 在转换器中的RTCP 数据处理(RTCP Processing in Translators) 7 3 在混频器中的RTCP 数据处理(RTCP Processing in Mixers ) 7 4 级联混频器(Cascaded Mixers) 8 SSRC 标识符的分配和使用(SSRC Identifier Allocation and Use) 8 1 冲突概率(Probability of Collision ) 8 2 冲突解决和循环检测(Collision Resolution and Loop Detection) 8 3 在分层编码中使用(Use with Layered Encodings) 9 安全(Security ) 9 1 机密性(Confidentiality) 9 2 身份验证和消息完整性(Authentication and Message Integrity ) 10 拥塞控制(Congestion Control) 11 网络和传输协议之上的RTP (RTP over Network and Transport Protocols) 12 协议常量摘要(Summary of Protocol Constants) 12 1 RTCP 包类型(RTCP Packet Types) 12 2 SDES 类型(SDES Types) 13 RTP 概况和负载格式详细说明 (RTP Profiles and Payload Format Specifications) 14 安全考虑(Security Considerations) 15 IANA 考虑(IANA Considerations) 16 知识产权声明(Intellectual Property Rights Statement) 17 鸣谢(Acknowledgments) 附录A 算法(Algorithms) 附录A 1 RTP 数据头有效性检查(RTP Data Header Validity Checks ) 附录A 2 RTCP 数据头有效性检查(RTCP Header Validity Checks) 附录A 3 确定RTP包预期数目和丢失数目(Determining Number of Packets Expected and Lost) 附录A 4 生成SDES RTCP包(Generating RTCP SDES Packets) 附录A 5 解析RTCP SDES 包(Parsing RTCP SDES Packets) 附录A 6 生成32位随机标识符(Generating a Random 32-bit Identifier 附录A 7 计算RTCP 传输间隔(Computing the RTCP Transmission Interval) 附录A 8 估测两次到达间隔的抖动(Estimating the Interarrival Jitter) 附录B 与RFC1889 不同之外(Changes from RFC 1889) 参考书目(References) 标准化引用(Normative References ) 资料性引用(Informative References) 作者地址 完整的版权声明

2013-05-09

The C Programming Language中文第二版的习题答案

对应于c programming language中文第二版的习题答案

2013-05-07

Linux下面如何进行C语言编程技术教程.pdf

教你在Linux下面如何进行C语言编程技术教程 最基础的教程 gcc + makefile 一看就懂

2013-05-03

深入Linux设备驱动程序内核机制- 扫描版-有书签目录

深入Linux设备驱动程序内核机制 讲解的非常不错

2013-04-22

Google C++编程风格指南.pdf

Google 的开源项目大多使用C++开发。每一个C++程序员也都知道,C++具有很多强大的 语言特性,但这种强大不可避免的导致它的复杂,这种复杂会使得代码更易于出现bug、难于 阅读和维护。 本指南的目的是通过详细阐述在C++编码时要怎样写、不要怎样写来规避其复杂性。这些规则 可在允许代码有效使用C++语言特性的同时使其易于管理。 风格,也被视为可读性,主要指称管理C++代码的习惯。使用术语风格有点用词不当,因为这 些习惯远不止源代码文件格式这么简单。 使代码易于管理的方法之一是增强代码一致性,让别人可以读懂你的代码是很重要的,保持统一 编程风格意味着可以轻松根据“模式匹配”规则推断各种符号的含义。创建通用的、必需的习惯用 语和模式可以使代码更加容易理解,在某些情况下改变一些编程风格可能会是好的选择,但我们 还是应该遵循一致性原则,尽量不这样去做。 本指南的另一个观点是C++特性的臃肿。C++是一门包含大量高级特性的巨型语言,某些情况 下,我们会限制甚至禁止使用某些特性使代码简化,避免可能导致的各种问题,指南中列举了这 类特性,并解释说为什么这些特性是被限制使用的。 由Google 开发的开源项目将遵照本指南约定。 注意:本指南并非C++教程,我们假定读者已经对C++非常熟悉。

2013-04-19

敏捷开发 the_art_of_agile_development

the_art_of_agile_development

2013-04-07

The C Programming Language 中文版

The C Programming Language 中文版

2013-03-28

LINUX 设备驱动开发详解 源码

LINUX 设备驱动开发详解 + 源码 非常有用

2013-03-20

UNIX网络编程第二卷

UNIX网络编程第二卷 进程间通信 经典书籍

2013-03-14

Unix网络编程

《Unix网络编程》这本书,一通百通,无论Windows还是Unix/Linux,都是一样的

2013-03-14

UNIX编程艺术[中文版]

UNIX编程艺术[中文版] ,看完以后,你就明白什么是真正的编程文化了

2013-03-14

linux编程实践教程

linux编程实践教程

2013-03-14

VIM中文手册

VIM中文手册

2013-03-14

内核协议栈数据包转发完全解析

内核协议栈数据包转发完全解析

2013-03-06

libevent源码深度剖析pdf

libevent源码深度剖析pdf

2013-03-04

空空如也

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

TA关注的人

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