- 博客(48)
- 资源 (9)
- 收藏
- 关注
转载 循环队列实现c++
#include #include #include using namespace std;/*用数组实现循环队列(1)、设一标志位以区别队列是“空”还是“满”(2)、少用一空间,约定“队列头指针在队尾指针的下一位置”上作为队列呈“满”状态的标志*/template class MyDeque{public:MyDeque(int n= 10);/
2014-04-15 21:09:30
7785
转载 设计模式C++实现(16)——状态模式
设计模式c++classdeleteuml编程 软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件
2014-03-26 09:46:44
485
转载 设计模式C++实现(15)——观察者模式
分类: 设计模式设计模式c++blogstringclassiterator 软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计
2014-03-26 09:42:36
483
转载 设计模式C++实现(14)——职责链模式
分类: 设计模式设计模式c++managerstringdeleteclass 软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设
2014-03-25 16:58:20
507
转载 设计模式C++实现(13)——中介者模式
分类: 设计模式设计模式c++stringclassdeleteuml 软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》
2014-03-25 11:09:20
496
转载 设计模式C++实现(12)——备忘录模式
分类: 设计模式设计模式c++游戏classuml编程 软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可
2014-03-25 10:49:07
368
转载 设计模式C++实现(11)——装饰模式
分类: 设计模式设计模式c++手机iphoneclassstring 软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计
2014-03-25 10:25:10
405
转载 设计模式C++实现(10)——桥接模式
分类: 设计模式设计模式c++osclassumlunix 软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式
2014-03-25 09:59:00
348
转载 设计模式C++实现(9)——享元模式
分类: 设计模式设计模式c++stringclassdeletestruct 软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设
2014-03-25 09:53:19
400
转载 设计模式C++实现(8)——代理模式
分类: 设计模式设计模式c++imagedelete图形string 软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和
2014-03-24 18:06:58
368
转载 设计模式C++实现(6)——建造者模式
分类: 设计模式设计模式c++classuml产品编程 软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可
2014-03-24 17:14:26
379
转载 设计模式C++实现(5)——原型模式、模板方法模式
分类: 设计模式设计模式c++deleteclass算法uml 软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计
2014-03-24 17:07:09
339
转载 设计模式C++实现(4)——单例模式
分类: 设计模式设计模式c++umlclassnull编程 软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:
2014-03-24 16:55:35
435
转载 设计模式C++实现(3)——适配器模式
分类: 设计模式设计模式c++classumldelete数据结构 软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和
2014-03-24 16:41:46
424
转载 设计模式C++实现(2)——策略模式
分类: 设计模式设计模式c++cache算法randomclass 软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《
2014-03-24 16:24:43
346
转载 设计模式C++实现(1)——工厂模式
分类: 设计模式设计模式c++classuml产品编程 软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可
2014-03-24 16:19:34
516
原创 状态机的应用
要求输入一段字符串,统计字符串中单词的个数!#include#includeint IsChar(char ch){ if((ch>='a')&&(ch='A')&&(ch<='Z')) { return 1; } else { return 0; }}int main(int argc,char *argv[]){ char buf[2
2013-05-22 17:14:03
698
转载 linux上进程状态查询
linux上进程状态查询 linux上进程有5种状态: 1. 运行(正在运行或在运行队列中等待) 2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号) 3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生) 4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放) 5. 停止(进程收到SIGSTOP,
2012-09-10 16:53:41
397
转载 rtsp和sdp协议简介
RTSP 是由Real network 和Netscape共同提出的如何有效地在IP网络上传输流媒体数据的应用层协议 。 实时流协议(RTSP)建立并控制一个或几个时间同步的连续流媒体,如音频和视频。尽管连续媒体流与控制流交叉是可能的,RTSP 本身并不发送连续媒体流。换言之,RTSP 充当多媒体服务器的网络远程控制。RTSP 提供了一个可扩展框架,实现实时数据(如音频与视频)的受控、按需传送。
2012-08-06 14:55:07
828
转载 configure参数介绍
configure参数介绍'configure'脚本有大量的命令行选项。对不同的软件包来说,这些选项可能会有变化,但是许多基本的选项是不会改变的。带上'--help'选项执行'configure'脚本可以看到可用的所有选项。尽管许多选项是很少用到的,但是当你为了特殊的需求而configure一个包时,知道他们的存在是很有益处的。下面对每一个选项进行简略的介绍:-
2012-07-27 16:58:10
434
转载 JRTPLIB库在Linux平台上的编译
JRTPLIB库在Linux平台上的编译1、jrtplib简介 RTP 是目前解决流媒体实时传输问题的最好办法,要在 Linux 平台上进行实时传送编程,可以考虑使用一些开放源代码的 RTP 库,如 LIBRTP、JRTPLIB 等。JRTPLIB 是一个面向对象的 RTP 库,它完全遵循 RFC1889设计,在很多场合下是一个非常不错的选择。JRTPLIB 是一个用 C++ 语言实现的
2012-07-27 16:57:05
899
转载 H264参数结构三:序列参数集层(SPS) & 图像参数集语义
H264参数结构三:序列参数集层(SPS) & 图像参数集语义 1: seq_parameter_set_rbsp( ) { 2: // profile_idc level_idc 指明所用 profile、level 3: profile_idc 4: // constraint_set0_flag 等于 1 时表示必须遵从附录 A.2.1 所指明的所有制约条件。
2012-07-25 17:08:57
1081
转载 H.264 RTP payload 格式
H.264 视频 RTP 负载格式1. 网络抽象层单元类型 (NALU)NALU 头由一个字节组成, 它的语法如下: +---------------+ |0|1|2|3|4|5|6|7| +-+-+-+-+-+-+-+-+ |F|NRI| Type | +---------------+F: 1 个比特.
2012-07-25 16:31:15
855
转载 Linux之GCC命令 -- 解析GCC编译的四个过程
在Linux下进行C语言编程,必然要采用GNU GCC来编译C源代码生成可执行程序。Gcc指令的一般格式为:Gcc [选项] 要编译的文件 [选项] [目标文件]。其中,目标文件可缺省,Gcc默认生成可执行的文件名为:编译文件.out看一下经典入门程序"Hello World!"# vi hello.c ,编辑如下:#include #include void main(v
2012-07-25 15:02:50
1420
转载 mepg-4 的码流分析
最近做了MPEG-4编码的视频文件的分析,找资料的时候费了好大的劲,在这里分享自己的一些心得体会,也算对自己工作的一个总结吧。必须先推荐一个非常好用的码流分析工具:Elecard Stream Analyzer。分析结果可以在图片中看到。 第一步,先说说如何对获得MPEG-4编码的视频。我的方法是从纯视频格式(.yuv)利用软件ffmpeg经过MPEG-4编码得到.m4v文件,这个文件就是我
2012-07-24 15:28:42
2675
转载 linux 库的编译方法
Linux下编译库分类: Linux 2011-10-09 20:32 101人阅读 评论(0)收藏举报 一般为了不让他人看到源码,也为了维护,我们常把源码封装成一个一个的库,而库有静态库和动态库之分(根据链接时期的不同进行区分),静态库在编译的时候会被连接到目标代码中去,程序运行时不需要该库存在就能运行;动态库在编译时并不会被连接到目标代码中去,而是在程序运行
2012-07-06 16:23:13
2614
转载 Linux Platform Device and Driver
Linux Platform Device and Driver 从Linux 2.6起引入了一套新的驱动管理和注册机制:Platform_device和Platform_driver。Linux中大部分的设备驱动,都可以使用这套机制, 设备用Platform_device表示,驱动用Platform_driver进行注册。 Linux platform driver机制和
2012-06-14 16:03:55
493
转载 系统字节序检测的两种方法
系统字节序检测的两种方法下面代码示范了两种检测系统字节序的方法。第一种方法,使用强制类型转换的方式。C 语言在把占用2个字节的 short 变量强制转换为 char 之后,会把 short 变量的首地址赋给 char 变量,可以根据 char 变量的值判断系统字节序是 大端 还是 小端。第二种方法,利用 联合类型 的特性。联合类型 共享同一段内存,首地址是相同的
2012-06-14 14:22:19
848
转载 linux驱动基本结构分析
/*driver test code */#include #include #include #include #include #include #include #include MODULE_LICENSE("GPL");static int char_read(struct file *filp, char __user *buffer, size
2012-06-14 11:44:05
635
转载 struct device结构体
struct device结构体 struct device结构体(2.6.23) 一、定义:linux/include/linux/device.hstruct device { struct klist klist_children; struct klist_node knode_parent; /* node
2012-06-14 11:29:31
2306
转载 device_create ()详解
在驱动程序中初始化入口函数中,向内核注册一个设备后,往往要注册一个类例如static int __init mydriver_init(void) //驱动程序的初始化{ …… MYDRIVER_Major = register_chrdev(0, DEVICE_NAME, &mydriver_fops); //向内核注册一个设备,返回值为注册的主设备号
2012-06-14 11:23:06
46810
1
转载 class_create() 详解
http://blog.youkuaiyun.com/xxu0123456789/article/details/6339661 class_create()在刚开始写Linux设备驱动程序的时候,很多时候都是利用mknod命令手动创建设备节点,实际上Linux内核为我们提供了一组函数,可以用来在模块加载的时候自动在/dev目录下创建相应设备节点,并在卸载模块时删除该节点,当然前提
2012-06-14 11:21:27
9631
转载 字符设备 register_chrdev_region()、alloc_chrdev_region()区别
转载http://blog.sina.com.cn/s/blog_620b71230100f71g.html字符设备 register_chrdev_region()、alloc_chrdev_region 内核中所有已分配的字符设备编号都记录在一个名为 chrdevs 散列表里。该散列表中的每一个元素是一个 char_device_st
2012-06-14 10:30:52
3029
转载 cdev_alloc和cdev_init
内核中每个字符设备都对应一个 cdev结构的变量,下面是它的定义:linux-2.6.22/include/linux/cdev.hstruct cdev {struct kobject kobj; // 每个 cdev都是一个 kobjectstruct module *owner; //指向实现驱动的模块const struct file_op
2012-06-14 10:04:45
709
转载 Linux字符设备驱动程序的注册
字符设各是Linux中最简单的设备。 在Linux中,字符设各是用一个叫做字符设备结构的数据结构char device struct来描述的。为了管理上的方便,系统维护了一个数组chrdevsLJ,该数组的每一项都代表一个字符没各。 在文件linux/fs/char_dev.c中定义的char_device_struct的数据结构及数组chrdevs[]代码如下: 结构中的一
2012-06-14 09:12:55
760
转载 【图解】Linux下C程序进程地址空间布局
【图解】Linux下C程序进程地址空间布局我们在学习C程序开发时经常会遇到一些概念:代码段、数据段、BSS段(Block Started by Symbol) 、堆(heap)和栈(stack)。先看一张教材上的示意图(来源,《UNIX环境高级编程》一书),显示了进程地址空间中典型的存储区域分配情况。 从图中可以看出:从低地址到高地址分别为:代码段、
2011-10-27 16:00:04
478
转载 各种排序算法
http://club.topsage.com/thread-736021-1-1.html常见排序算法的实现(一)——插入排序常见排序算法的实现(二)——shell排序常见排序算法的实现(三)——堆排序常见排序算法的实现(四)——冒泡排序常见排序算法的实现(五)——快速排序常见排序算法的实现(六)——归并排序
2011-10-25 09:12:44
1107
转载 linux 下多进程的同步
linux 多进程的同步:linux多进程我实现同步操作,操作单个信号量已经不能实现,对多进程的通信可以采取信号集的方式,一个信号集包含了多个信号量。首先通过semget()创建信号量。例如:semid = semget(SEMKEY,2,0600|IFLAGS;然后对信
2011-10-18 14:37:42
9271
原创 linux下线程的同步
同步是也是一种互斥,但需要通过一定机制实现访问者对资源的有序访问。下面是linux下线程同步的代码。线程2的先打印,然后才能轮到线程1打印。#include #include #include int value = 0;sem_t sem1,sem2;v
2011-10-18 08:50:42
848
转载 linux 下线程的互斥
进程之间的关系主要有两种,同步与互斥。所谓互斥,是指散步在不同进程之间的若干程序片断,当某个进程运行其中一个程序片段时,其它进程就不能运行它 们之中的任一程序片段,只能等到该进程运行完这个程序片段后才可以运行。所谓同步,是指散步在不同进程之间的若干程序片断,它们的运行必须严格按照
2011-10-17 17:14:23
496
基于MFC的ftp客户端源码
2010-01-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人