- 博客(7)
- 资源 (5)
- 收藏
- 关注
原创 C++单例
C++单例中也存在线程安全问题,这篇文章总结单例模式的各种创建方式,讨论利弊。单例的目的是为实现结构对象中只有一个实例,对于类的构造函数,拷贝构造函数、赋值构造函数应当做对应处理。普通构造函数和析构函数 应为private 级别,拷贝构造函数和赋值构造函数应当删除,防止构造多个对象。以下分析懒汉式、饿汉式、call_once 等构造方式及利弊分析。1. 懒汉式//MyClass.hclass MyClass{ public: static MyClass* get...
2022-03-14 17:38:47
5586
原创 webrtc音频发送流程
一 概述webrtc 音频数据整个流程的代码调用图:二 采集部分采集部分:使用平台上的麦克风采集api, 代码模块: moudles/audio_devceADMWarpper类封装了音频设备类 AudioDeviceModule, AudioDeviceDataObserver 类,AudioTransport类, 其中AudioDeviceModule 封装拉流各个平台的麦克风采集API, AudioDeviceDataObserver 可以将采集到的原始数据向外抛.
2022-03-09 14:14:36
1761
原创 webrtc-sdp编码信息协商
简要webrtc中采用sdp协议进行会话协商,sdp协商是通信数据的开始,理解sdp协议及webrtc对sdp的处理非常重要,本文简单剖析了webrtc源码对于p2p双方编解码器不同时如何进行协商的过程,sdp协议是offer/answer模型,展示如下图。sdp协议对应的API:CreateOffer、CreateAnswer、SetLocalDescription、SetRemoteDescription。一、 APICreateOffer Cr...
2022-02-28 11:47:34
1785
原创 Windows下 C++代码检测工具
最近在查阅一些windows系统下的C++代码及性能检测工具, 按照检测类别分别静态检测和动态检测。静态检测: 在程序没有被实际执行的情况下执行的计算机软件分析,大部分是对源代码的分析和检测。动态检测: 通过在真实或虚拟处理器上执行程序来执行的计算机软件的分析。动态检测范围包括:代码覆盖率分析、 内存检测、安全性分析、并发分析、性能分析等。今天的文章主要针对 静态检测 及 动态检测...
2019-07-06 12:53:22
5978
原创 Qt 日志规范及原理分析
Qt中debug和release状态下输出内容有所不同,debug模式下包含了数百条警告及错误日志,除非在编译期间设置了QT_NO_WARNING_OUTPUT和/或QT_NO_DEBUG_OUTPUT,否则在发布模式下构建的Qt也包含此类警告。一 格式化日志qt 格式化输出内容有两种方法:qInstallMessageHandler 和qSetMessagePatternqSet...
2019-06-11 21:53:08
992
原创 继 -- 图像快速模糊算法
算法结构 = 扫描线种子填充算法 + 模糊模板移动法 该算法的优点在于没有重复读取图像中的像素信息,使用的滤波模板是 m[3][3]={1,1,1,1,1,1,1,1,1},主要用到了线扫描法和移动滤波法,用于封闭区域图形的快速模糊,线扫描法用于确定边界,移动滤波法大大提高了运行速度。1.扫描线种子填充法:扫描线种子填充算法的基本过程如下:当给定种子点(x, y)时,首先分别向左和向
2017-03-29 16:07:21
1656
原创 基于线扫描的局部区域快速模糊算法
注:1.局部区域边界为红色R=255,G=B=0;2.模糊取值为滤波内像素值均值;3.通过拾取局部区域内部一点,对整个局部区域进行模糊;4.使用了CDib类指向图像内存;定义变量:int radiusX,radiusY;//模糊滤波半径typedef struct{int Height;int Width;}Seed;//种子栈int iCurrent
2016-05-20 17:01:29
604
番茄助手软件 VS2010可用
2015-05-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人