- 博客(87)
- 资源 (6)
- 收藏
- 关注
原创 C++设计模式(Design Patterns)
实现类要职责单一不要破坏继承关系面向接口编程设计接口时要精简单一,提供尽可能小的单独接口最少知识原则,尽量少的发生相互作用可扩展,但不可修改。
2023-09-23 19:21:29
534
原创 WebRTC-audio_codecs音频编解码
目录AudioCodecSpec AudioEncoderAudioDecoderFactoryAudioDecoderAudioDecoderFactoryAudioCodecSpec SdpAudioFormat //音频编解码SDP特性 名称 时钟频率 通道数 参数列表AudioCodecInfo //音频编解码信息 采样频率 通道数 码率 是否容许舒适噪声 是否支持音频网络适配...
2021-09-15 15:21:26
1008
原创 WebRTC-video_codecs视频编解码
目录VideoCodecVideoEncoder VideoEncoderFactory VideoDecoderVideoDecoderFactory VideoCodecVideoCodec //视频编解码信息 编解码器类型. 负载类型 宽高 码率 帧率 Qp(量化参数) 联播流 空间分级层 编解码器特性(VP8、vp9、h264) VideoCodec->VideoCo...
2021-09-14 17:07:26
7267
原创 WebRTC-audio_device音频设备
AudioDeviceModuleAudioDeviceModule //音频设备组件. AudioDeviceModuleForTest AudioDeviceModuleImpl 音频输送回调. 初始化. 设备枚举. 设备选择. 音频输送初始化. 音频输送控制. 音频混合器初始化. 扬声器音量控制. 麦克风音量控制. 扬声器开禁控制. 麦克风开禁控制. 立体声控...
2021-09-14 13:56:39
906
原创 Qt的QML
Qt的QMLQMLQMLQML类似于网页设计的 HTML,是一种标记语言,我们可以借助 CSS 对它进行美化,也可以借助 JavaScript 进行交互。使用 QML 开发界面主要有以下几个优点:QML 非常灵活,可以做出非常炫酷的效果QML 是标记语言,见名知意,非常容易编写和阅读,大大提高了开发和维护效率QML 界面简洁大气,有很多动画,适合移动端不同平台下的 QML 使用相同的渲染机制,界面效果一致,不会随操作系统的不同而变化QML 一般用来进行界面设计和人机交互,也就是用于 UI
2021-04-16 12:08:31
560
转载 GPL 和 LGPL
开源协议:GPL 和 LGPL1) GNU GPL(GNU General Public License,GNU通用公共许可证)2) GUN LGPL(GNU Lesser General Public License,GNU 宽通用公共许可证)3) BSD(Berkeley Software Distribution,伯克利软件发布版)协议1) GNU GPL(GNU General Public License,GNU通用公共许可证)只要软件中包含了遵循 GPL 协议的产品或代码,该软件就必须也遵循
2021-04-16 11:49:52
1976
原创 Linux下X11 + EGL实现OPENGL绘制测试程序
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <stdarg.h>#include <sys/time.h>#include <EGL/egl.h>#include <EGL/eglext.h>#include <GLES3/gl3.h>#include <GLES3/gl3platform.h>
2020-07-30 15:16:40
1439
原创 Linux下基于ALSA架构的音频录播测试程序
录制PCM音频文件(单通道 8000Hz),并进行播放.#include <stdlib.h>#include <stdio.h>#include <string.h>#include <sys/stat.h>#include <sys/time.h>#include <alsa/asoundlib.h>typedef struct _ec_snd_pcm_info { snd_pcm_t *handle;
2020-07-30 14:18:23
428
转载 Ninja 构建系统
见 https://blog.youkuaiyun.com/yujiawang/article/details/72627121
2020-01-16 15:20:43
423
原创 Win10+NodeJS+Electron+ffi+DLL+VSCode安装配置编译流程及要点
版本信息node@8.11.0(x86版本)node-gyp@3.8.0win32 ia32 win10.0.18362(win10 64位)electron@4.0.0ffi@2.3.0ref@1.3.5ref-array@1.2.0ref-struct@1.1.0vs 2015(DLL WIN32)puthon 2.7.15安装流程本示例是32位下开发,请自行下载32...
2019-11-24 12:08:28
1391
qt——概念解析
伙伴编辑模式QLabel标签和伙伴窗口部件包括一个标签和一个窗口部件,当用户激活标签的快捷键时,焦点将会转移到它的伙伴窗口部件上。只有QLabel标签对象才可以有伙伴窗口部件。信号和槽机制QT提供了信号和槽机制用于完成界面操作的响应,是任意两个QT对象之间的通信机制,信号会在某个特定情况或动作下被触发,槽是等同于接收并处理信号的函数,当一个类被继承时,该类的信号和槽也同时被继承,也可以根据需...
2019-10-21 20:44:18
659
转载 基于消息的异步松耦合系统
松耦合系统通常是基于消息的系统,此时客户端和远程服务并不知道对方是如何实现的。客户端和服务之间的通讯由消息的架构支配。只要消息符合协商的架构,则客户端或服务的实现就可以根据需要进行更改,而不必担心会破坏对方。松耦合通讯机制提供了紧耦合机制所没有的许多优点,并且它们有助于降低客户端和远程服务之间的依赖性。但是,紧耦合性通常可以提供性能好处,便于在客户端和服务之间进行更为紧密的集成。人们越来越热衷...
2019-10-21 19:54:43
315
原创 大规模分布式系统概念介绍
几种计算概念1、分布式计算分布式计算:研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果。分布式计算比起其它算法具有以下几个优点:稀有资源可以共享;通过分布式计算可以在多台计算机上平衡计算负载;可以把程序放在最适合运行它的计算机上,其中,共享稀有资源和平衡负载是计算机分布式计算的核心思想之一。...
2019-10-21 19:49:14
3048
转载 商汤科技VS旷视科技VS依图科技(转)
详见链接 https://www.jianshu.com/p/b132bdd9dff1前台光芒闪烁,后台隐形王者。一、行业市场1、计算机视觉发展(数据+运算力+算法)1)数据量:海量数据为计算机视觉飞速发展提供了燃料。数据的爆发得益于互联网、社交媒体、移动设备、智能设备和各种感知传感器,这位通过深度学习的方法来训练计算机视觉技术提供很好的土壤。2)运算力(1) 在计算机视觉领域,图像...
2019-08-25 11:30:15
3175
原创 cJSON用法示例
#include <stdlib.h>#include <stdio.h>#include <string>#include "cJSON.h"int main(){ printf("JSON Application.\r\n"); std::string strJson = ""; printf("..................
2019-08-14 20:04:02
321
原创 Win10 下使用 VS2015 编译 openssl-1.0.2s 源码
准备环境 Win10 + VS2015下载ActivePerl(编译必须要):http://www.activestate.com/activeperl/downloads下载OpenSSL源码:https://www.openssl.org步骤安装ActivePerl, 环境变量自动配置默认勾选加解压OpenSSL到指定目录 <path>打开VS2015->...
2019-08-03 17:44:48
246
原创 CentOS 7 从本地 ISO 映像文件安装 Gnome GUI
由于虚拟机从本地 ISO 映像文件安装 CentOS 7 默认是没有Gnome GUI 图像界面的,以下是在CentOS 7 命令行界面从本地 ISO 映像文件安装 Gnome GUI 的步骤。1、确认虚拟机的客户机光盘连接的 CentOS 7 ISO 映像文件地址正确2、在/mnt文件目录下新建cdrom文件夹,并挂载光盘cd /mntmkdir cdrommount /dev/cdr...
2019-08-03 11:44:11
4191
原创 makefile——用法
显示规则显式规则说明了如何生成一个或多的的目标文件,需要明显指出要生成的文件,文件的依赖文件以及生成的命令。隐晦规则make 有自动推导的功能,由 make 所支持的隐晦规则可以让我们比较粗糙的简略的书写 makefile。变量的定义在 makefile 中要定义一系列的变量,当 makefile 被执行时,其中的变量都会被扩展到相应的引用位置上。如果变量出现在依赖关系的规则中,那么仅当...
2019-07-28 23:30:17
258
原创 makefile——基础
makefile好处makefile 定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能 操作,比如可以执行操作系统的命令。makefile可以带来自动化编译的好处,一旦写好,只需要一个 make 命令,整 个工程完全自动编译,极大的提高了软件开发的效率。makefile 可以说已成为了 一种在工程方面的编译方法。程序编译与连接程...
2019-07-28 23:28:27
142
原创 Win10 下 ProtoBuf 安装编译以及在 C++ 中的用法
简介protocolbuffer(protoBuf或PB)是google 的一种数据交换的格式,它独立于语言,独立于平台。google 提供了多种语言的实现:java、c#、c++、go 和 python,每一种实现都包含了相应语言的编译器以及库文件。由于它是一种二进制的格式,比使用 xml 进行数据交换快许多,可以把它用于分布式应用之间的数据通信或者异构环境下的数据交换,作为一种效率和兼容...
2019-07-27 20:48:01
6155
2
转载 SQL优化的方法(转)
在sql查询中为了提高查询效率,我们常常会采取一些措施对查询语句进行sql优化。对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默...
2019-07-18 15:05:51
130
转载 将数组作为参数进行传递(转)
有两种传递方法,一种是function(int a[]); 另一种是function(int *a)这两种两种方法在函数中对数组参数的修改都会影响到实参本身的值!对于第一种,根据之前所学,形参是实参的一份拷贝,是局部变量。但是数组是个例外,因为数组的数据太多了,将其一一赋值既麻烦又浪费空间,所以数组作为参数传递给函数的只是数组首元素的地址,数据还是在内存里的,函数在需要用到后面元素时再按照这个...
2019-07-18 14:55:19
5463
转载 如何在main函数之前或之后打印信息(转)
转自 https://blog.youkuaiyun.com/qq_43313035/article/details/88735476
2019-07-18 14:49:42
418
转载 Linux c++锁与线程同步(转)
加锁原则多线程、进程并行访问共享资源时,一定要加锁保护说明:共享资源包括全局变量,静态变量,共享内存,文件等。 建议封装像智能指针一样的对象对锁进行管理。锁的职责单一说明:每个锁只锁一个唯一共享资源;这样,才能保证锁应用的单一,也能更好的确保加锁的范围尽 量小。 对于共享全局资源,应该根据实际需要,每类或每个资源,有一把锁。这样,这把锁只锁对这个资源 访问的代码,通常这样的代码都会...
2019-07-18 14:45:41
434
转载 静态变量初始化的时机(转)
静态变量的内存分配和初始化c对于C语言的全局和静态变量,不管是否被初始化,其内存空间都是全局的;如果初始化,那么初始化发生在任何代码执行之前,属于编译期初始化。由于内置变量无须资源释放操作,仅需要回收内存空间,因此程序结束后全局内存空间被一起回收,不存在变量依赖问题,没有任何代码会再被执行c++C++引入了对象,这给全局变量的管理带领新的麻烦。C++的对象必须有构造函数生成,并最终...
2019-07-18 14:26:40
922
转载 MySQL MongoDB Redis 数据库之间的区别
转自 https://blog.youkuaiyun.com/CatStarXcode/article/details/79513425MongoDB它是一个内存数据库,数据都是放在内存里面的。对数据的操作大部分都在内存中,但 MongoDB 并不是单纯的内存数据库。MongoDB 是由 C++ 语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性...
2019-07-18 14:15:52
223
转载 Redis是单线程的为什么这么快(转)
转自 https://blog.youkuaiyun.com/xlgen157387/article/details/79470556
2019-07-18 14:00:57
245
SQL Server 2005安装使用(性能介绍、软硬件要求、安装步骤、如何使用)
2009-02-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人