自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

独行Freedom的博客

不积跬步,无以至千里;不积小流,无以成江海。

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

原创 webrtc实验分析教程

实验分析教程

2022-11-29 22:45:04 159 1

原创 Qt信号和槽的使用和核心源码分析

Qt信号和槽的使用和源码分析最近几天研究了一下信号和槽,总结一下。直接上干货,少写千篇一律的内容。Qt的信号和槽是解决两个以及多个QObject对象通信的问题,拿A B C三个对象举例,A对象可以自定义信号并且发出信号,B和C对象可以作为观察者监听A的信号。A对象发出信号的时候,B和C的槽函数会被调用。其中关键的函数是QObject::connect函数和关键字emit。connect函数connect函数负责生成被观察者和观察者的连接信息,这些连接信息可以是一对多的,多对多的,多对一的。具体执

2022-05-16 19:39:00 703

原创 深度剖析C++模板编程之bind实现

深度剖析C++模板编程之bind实现

2021-09-28 11:04:54 267

原创 指向成员的操作符 .* 和 ->*

指向成员的操作符:.* 和 ->* MSDN上写的很简洁清晰Example1:// expre_Expressions_with_Pointer_Member_Operators.cpp// compile with: /EHsc#include <iostream>using namespace std;class Testpm {public: v...

2019-09-18 18:39:20 206

转载 C++面试题

转自:C++面试题 - CSDN博客https://blog.csdn.net/smilestone_322/article/details/8474820 1)为什么要将析构函数设置成虚函数,有什么好处?面向对象编程的3个基本概念:数据抽象、继承、动态绑定。我们在设计类似时,一般讲析构函数设计成...

2018-07-07 17:27:00 288

转载 高并发网络编程之epoll详解

在linux 没有实现epoll事件驱动机制之前,我们一般选择用select或者poll等IO多路复用的方法来实现并发服务程序。在大数据、高并发、集群等一些名词唱得火热之年代,select和poll的用武之地越来越有限,风头已经被epoll占尽。本文便来介绍epoll的实现机制,并附带讲解一下select和poll。通过对比...

2018-06-06 20:57:42 337

转载 UNIX环境高级编程——select、poll和epoll

转自:https://blog.csdn.net/ctthuangcheng/article/details/9332431 一、select&nbsp; &nbsp; &nbsp; &nbsp;select目前几乎在所有的平台上支持,其良好跨平台支持也是它的一个优点,事实上从现在看来,这...

2018-06-01 11:31:38 474

转载 值得学习的C/C++框架和库

值得学习的C语言开源项目1. WebbenchWebbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行...

2018-05-28 22:39:11 591

转载 Effective Modern C++ 条款35 比起基于线程编程,更偏爱基于任务编程

转自:https://blog.csdn.net/big_yellow_duck/article/details/52502869 比起基于线程编程,更偏爱基于任务编程如果你想异步地运行函数doAsyncWork,你有两个基本的选择。你可以创建一个std::thread,用它来运行doAsyncWork,因此这是...

2018-05-28 22:18:23 193

转载 jrtplib笔记

转自: jrtplib 笔记(1) - CSDN博客 https://blog.csdn.net/alajl/article/details/5419489 最近要实现 non-compound rtcp(http://tools.ietf.org/html/draft-ietf-avt-rtcp-non-compound-02 )因为我们使用的是 jrtplib 这个开源的包,这个包把...

2018-05-28 22:09:20 888

转载 C/C++多线程面试题

转自:https://blog.csdn.net/u010236550/article/details/12372319 以下提供答案参考:第一题:线程的基本概念、线程的基本状态及状态之间的关系?线程,有时称为轻量级进程,是CPU使用的基本单元;它由线程ID、程序计数器、寄存器集合和堆栈组成。它与属于同一进程的其他线程共...

2018-05-20 10:56:06 30843 3

转载 C++面试宝典

转自:https://blog.csdn.net/jingxuewang110/article/details/6789557 &nbsp;&nbsp;&nbsp;1.new、delete、malloc、free关系delete会调用对象的析构函数,和new对应free只会释放内存,new调用构造函数。m...

2018-05-18 16:19:01 234

转载 Linux进程间通信——使用信号量

转自: https://blog.csdn.net/ljianhui/article/details/10243617 这篇文章将讲述别一种进程间通信的机制——信号量。注意请不要把它与之前所说的信号混淆起来,信号与信号量是不同的两种事物。有关信号的更多内容,可以阅读我的另一篇文章:Linux进程间通...

2018-05-17 10:59:20 634 1

转载 JRTPLIB rtp 实时流媒体传输

http://javahigh1.iteye.com/blog/1206495linux 下基于jrtplib库的实时传送实现一、RTP 是进行实时流媒体传输的标准协议和关键技术实 时传输协议(Real-time Transport Protocol,PRT)是在 Internet 上处理多媒体数据流的一种网络...

2018-05-07 17:01:46 2371

转载 流媒体动态码率自适应方案

转自: 流媒体动态码率自适应方案 - CSDN博客 https://blog.csdn.net/wghhdzwzqbx02/article/details/77775991 流控(动态码率调整)机制:1、缓冲区(视频输入、网络收发)。2、socket缓存监测。3、MTU控制。4、丢帧处理与检测。5...

2018-05-07 15:53:45 2349

转载 h264 NALU的获取与分析

转自: h264 NALU的获取与分析 - CSDN博客 https://blog.csdn.net/xiaoluer/article/details/53462894 一、如何从H264数据流中获取NALU0x00000001或0x000001是一个nalu的起始标志,遇到下一个此标志时为该nalu的结尾。起始标志...

2018-05-07 10:56:52 1351

转载 jrtplib示例程序1

转自: jrtplib学习之example1例程分析 - CSDN博客 https://blog.csdn.net/czh52911/article/details/7673209 本文主要讲解jrtplib源码中的example1例程,以及在jrtplib中常见的一些类的含义example1:[cpp] v...

2018-05-05 15:38:38 685 1

转载 RTP/RTCP协议如何实现媒体流的同步

转自: RTP/RTCP协议如何实现媒体流的同步 - CSDN博客 https://blog.csdn.net/tanningzhong/article/details/52594272 RTP的同步其实就靠这几个东西来完成:1. RTP帧头的以下三个域 sequence number, timestamp,SSRC...

2018-05-05 11:17:46 1080

转载 为什么多线程读写 shared_ptr 要加锁?

转自: 为什么多线程读写 shared_ptr 要加锁? - CSDN博客 https://blog.csdn.net/solstice/article/details/8547547 为什么多线程读写 shared_ptr 要加锁?陈硕(giantchen_AT_gmail_DOT_...

2018-05-03 17:05:06 343

转载 EasyPusher/EasyDarwin/EasyPlayer实现手机直播版本及效果整理

转自: EasyPusher/EasyDarwin/EasyPlayer实现手机直播版本及效果整理 - CSDN博客 https://blog.csdn.net/xiejiashu/article/details/51449610 EasyPusher手机直播实现功能最近很多EasyDarwin爱好者提出...

2018-05-02 23:38:09 512

转载 生产者/消费者模式之深入理解

&nbsp;&nbsp;&nbsp; ★简介&nbsp;&nbsp; 生产者消费者模式并不是GOF提出的23种设计模式之一,23种设计模式都是建立在面向对象的基础之上的,但其实面向过程的编程中也有很多高效的编程模式,生产者消费者模式便是其中之一,它是我们编程过程中最常用的一种设计模式。&nbsp;&nbsp;&...

2018-04-28 09:31:59 1315

转载 TCP/IP和Socket的关系

转自:http://www.cnblogs.com/riacool/archive/2010/12/14/1905404.html 要写网络程序就必须用Socket,这是程序员都知道的。而且,面试的时候,我们也会问对方会不会Socket编程?一般来说,很多人都会说,Socket编程基本就是listen,accept...

2018-04-24 10:03:31 401 2

转载 RTP、RTCP、RTSP协议详解

转自: RTP/RTSP/RTCP 协议详解 - CSDN博客 https://blog.csdn.net/shinichr/article/details/24111401 上次说到了XMPP协议,这个遇到了另一个协议RTP。XMPP:http://blog.csdn.net/shinichr/article/details/...

2018-04-23 16:25:06 7218

转载 《现代操作系统》读书笔记2

转自:https://blog.csdn.net/ingwfj/article/details/52332615 再次拿起《现代操作系统》这本书,精心仔细阅读,又有了几点体会记录一下。操作系统的功能或者说职责:向下管理资源,向上提供服务接口。OS作为中间层软件。操作系统涉及到的主要内容有进程和线程、文件系统、死锁、内存管理、I/...

2018-04-21 16:09:24 219

转载 《现代操作系统》读书笔记1

转自:https://blog.csdn.net/houjian914/article/details/50762056 1、导论与用户交互的程序:基于文本的shell基于图标的图形化用户界面(GUI)操作系统所处的位置:多数计算机有两种运行模式:内核态...

2018-04-21 16:08:14 589 1

转载 FFmpeg调整音视频播放速度

1. 调整视频速率1.1 原理调整视频速率的原理为:修改视频的pts,dts&nbsp;此过程由于不用进行解码编码,所以费时很少1.2 setpts修改视频速率ffmpeg -i input.mkv -an -filter:v "setpts=0.5*PTS" output.mkv11 注意: ...

2018-04-04 11:16:15 3175 1

转载 [总结]视频质量评价技术零基础学习方法

最近要做视频的质量评估,转载一下雷神的博客: [总结]视频质量评价技术零基础学习方法 - CSDN博客 https://blog.csdn.net/leixiaohua1020/article/details/16359465 前段时间略忙,因此一直计划要总结的很多东西都没来得及写...

2018-04-03 15:19:34 1238

转载 成为C++高手之回调函数

转自:成为C++高手之回调函数 - CSDN博客 https://blog.csdn.net/niu_gao/article/details/51450086 上一节的排序函数只能正向排序,那我们需要反向排序怎么办?可以增加一个参数嘛,传入TRUE,就表示要正向排,传入FALSE,就表示要反向排。要改变排序方向,只需改变两项比较时是用大于号还是...

2018-04-02 21:50:00 128

转载 RGB/HSV/YUV颜色空间模型总结

转自:http://blog.sina.com.cn/s/blog_679741950100ivz0.html颜色通常用三个相对独立的属性来描述,三个独立变量综合作用,自然就构成一个空间坐标,这就是颜色空间。而颜色可以由不同的角度,用三个一组的不同属性加以描述,就产生了不同的颜色空间。但被描述的颜色对象本身是客观的,不同颜色空间只...

2018-04-02 19:45:37 841

转载 网易游戏技术岗在线编程题(一)

转自:网易游戏技术岗在线编程题(一) - CSDN博客 https://blog.csdn.net/k346k346/article/details/50909295 题目来源:牛客网-网易2016年研发工程师编程题。1.小易的升级之路小易经常沉迷于网络游戏.有一次,他在玩一个打怪升级的游戏,他的角色的初始...

2018-03-31 15:12:40 725

转载 C++中cin的详细用法

转自: C++中cin的详细用法 - CSDN博客 https://blog.csdn.net/k346k346/article/details/48213811 代码编译运行环境:VS2012+Win32+Debug。1.cin简介cin是C++编程语言中的标准输入流对象,即istream类的对象。...

2018-03-31 14:57:26 33449

原创 如何将通用树转换为二叉树

通用树采用的是双亲孩子表示法: (1)每个结点都有一个指向其双亲的指针; (2)每个结点都若干个指向其孩子的指针。 如何将这棵树转化为二叉树呢?可采用孩子兄弟表示法: (1)每个结点都有一个指向其第一个孩子的指针; (2)每个结点都有一个指向其第一个右兄弟的指针;步骤: (1)将树的根节点直接作为二叉树的根节点。 (2)将树的根节点的第一个子节点作为二叉树根节点的左指针,若该...

2018-03-25 14:54:53 2334

转载 UML中的聚合与组合

总结一下聚合和组合的关系。组合关系(Composition):部分和整体之间具有相同的生命周期,当整体消亡后,部分也将消亡。就像大雁的翅膀和大雁是组合关系。代码实现时,部分类在整体类的构造函数中被构造,在析构函数中被析构。聚合关系(Aggregation):部分与整体之间并没有相同的生命周期,整体消亡后部分可以独立存在。就像大雁和雁群是聚合关系。代码实现时,整体类中传入一个部分类的指针,部...

2018-03-24 17:01:44 22966 6

原创 链式队列LinkQueue的实现

和StaticStack类似,当数据元素为类类型,StaticQueue 的对象在创建时,会多次调用元素类型的构造函数,影响效率。需要实现链式队列。队列的链式存储实现设计要点(1)类模板,抽象父类Queue的直接子类; (2)在内部使用链式结构实现元素的存储; (3) 只在链表的头部和尾部进行操作。LinkQueue实现方式一(使用单链表LinkList)代...

2018-03-23 20:36:58 1825

原创 基于顺序存储结构的队列StaticQueue的实现

队列的概念队列是一种特殊的线性表,队列仅能在线性表的两端进行操作: (1)队头(Front) : 取出数据元素的一端 (2)队尾(Rear):插入数据元素的一端对列的特性先进先出 Queue#ifndef _QUEUE_H_#define _QUEUE_H_#include "Object.h"namespace DTLib{ templa...

2018-03-23 20:08:45 345

原创 链式栈LinkStack的实现

上一篇是讲解StaticStack的实现,但是有一个的问题: 由于顺序栈内部实现是采用原生数组来实现的,当存储的元素为类类型时,StaticStack 的对象在创建时,会多次调用元素类型的构造函数,这样就会影响效率。这时候就需要设计链式栈。链式栈的设计 (1)类模板, 抽象父类 Stack 的直接子类; (2)在内部组合使用 Linklist 类 ,实现栈的链式存储; (3...

2018-03-23 16:43:02 2413

原创 基于顺序存储结构的栈StaticStack的实现

关于栈和队列,准备写5篇文章。其中栈的部分包括基于顺序存储结构的栈和链式栈两种,分别是StaticStack和LinkStack。同样队列也有两种,基于顺序存储结构的队列和链式队列,分别是StaticQueue和LinkQueue。最后一篇文章分析栈实现队列和队列实现栈。 本篇先分析怎样实现StaticStack。栈栈是一种特殊的线性表,栈仅能在线性表的一端进行操作,特点是先进后...

2018-03-23 10:35:30 276

原创 双向循环链表DualCircleList的实现(利用Linux内核链表)

目标  使用Linux内核链表实现双向循环链表DualCircleList。设计思路  数据结点之间在逻辑上构成双向循环链表,头结点仅用于结点的定位。 实现思路(1)通过模板定义 DualCirclelist 类,继承自 DualLinkList类; (2)在 DualCircleList 内部使用 Linux 内核链表进行实现; (3)使用 struct lis...

2018-03-22 15:01:59 217

原创 双向链表DualLinkList的实现

单链表的缺陷在前文中实现了单链表LinkList(点击这里),但是单链表存在一定的缺陷:只能从头结点开始高效访问链表中的数据元素(单向性);如果需要逆向访问单链表中的数据元素将极其低效;数据插如操作和取数据元素操作时间复杂度不一样。 双向链表因此需要设计一种新的线性表,设计思路:   在“单链表”的结点中增加一个指针pre,用于指向当前结点的前驱结点。 特点: ...

2018-03-22 14:27:11 526

原创 用户界面与业务逻辑的分离

在实现计算器程序的时候要使用用户界面与业务逻辑分离的思想。界面与逻辑基本程序架构一般包含: - 用户界面模块(UI):接受用户输入及呈现数据; -业务逻辑模块(Business Logic) :根据用户需求处理数据如何交互问题:用户界面与业务逻辑如何交互? 如图: 基本设计原则(1)功能模块之间需要进行解耦 (2)核心思想: 强内聚, 弱耦合 - 每...

2018-03-22 11:29:21 8333 1

空空如也

空空如也

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

TA关注的人

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