我最早了解到 sigslot 大概是在 2007年 左右,当时在QT中大量使用了 sigslot 的概念。 现在 WebRTC 中也大量使用了 sigslot 这种机制来处理底层的事件。它对我们阅读WebRTC代码至关重要。本篇文章就详细介绍一下 sigslot。
聊聊C++中的类型转换
在C语言中我们经常要做类型转换,例如malloc函数分配内存时需要从void *
转换成你指定的类型指针。如下面这样:
1 | int* block = (int*)malloc(sizeof(int)); |
上面的代码是将void*
转换成int*
,这种转换方式在C语言中称为强制转换
。它的好处是简洁,灵活;缺点是需要人来决定转换后类型是否正确,因此对开发人员的要求是很高的。
C++高阶知识:深入分析移动构造函数及其原理
移动构造函数是C++11中新增加的一种构造函数,其作用是提高程序性能。今天我们就细扒一下它的工作原理,看看它是怎么提高性能的。
细说智能指针
今天我们来聊聊C++的智能指针。C++从1983年诞生到现在已经有30多年历史了,为什么到现在还能如此流行呢(排名第四,2020年6月HelloGitHub榜单)?因为它具有很多其它语言所不具备的优势,比如说执行速度快,控制力更强等。同样的,有更多的同学会选择用Java(排名第二)等语言,这是因为它相对C++来说,它更简单,易上手,不用担心内存泄漏!
确实,内存泄漏在很长的一段时间里是影响人们学习C++的一个最重要的原因。不过C++也在不断进步中,智能指针的出现就大大降低了内存泄漏发生的风险。
下面我们就来细聊一下C++智能指针的方方面面,通过本文让你真正掌握C++智能指针。
重学C/C++中的const
分析WebRTC,重学Windows开发
本文字数: 4.6k
N多年没有写过 Window 程序了。为了研究 WebRTC 源码,这两天重新学习一下。还记得上大学的时候看过 《Windows95 程式设计》台湾版,对那本书印象极为深刻。一是当时国内确实没有一本写的那么深入的书籍,二是那本书翻译的特别好,让人一看就特别明白。10多年过多了,当时的情景还记忆犹新,也可见那本书写的有多好了。
janus的线程模型
我们要想把一个系统搞清楚,首先要把它的线程模型弄明白。比如它是单线程的还是多线程的?如果它是单线程的,那逻辑就比较简单了,像mediasoup就是单进程多实例的模型;如果是多线程的,那它的线程是如何分配的?每个线程的作用是什么?我们必须把这些都要弄清楚才行,否则我们就无法将这个系统彻底搞明白。
深入理解janus中的plugin管理
janus
中的plugin
是其非常重要的一部分内容,今天我们就来对这块内容做一下分析,看看janus
是如何实现plugin
的,以及它的工作原理是怎样的。
janus各文件及目录的作用
音视频会议系统-janus的编译与布署
说到WebRTC流媒体服务器就不得不提janus。说实话我以前对这款流媒体服务器并没有进行特别深入的研究,不过2019年10月我有幸作为声网RTC大会 Workshop 分会场的主讲嘉宾及串场人与janus的创始人Lorenzo Miniero有了一次深入交流,从中了解到janus的强大,因此决定有时间一定要对janus做下深入分析。