自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 WebRTC中的scoped_refptr解析

众所周知,C++中在堆中申请的内存都需要程序员自己手动删除,这是C++容易造成内存泄漏的根本原因。使用过Java的朋友都清楚,Java有完善的内存回收机制,无需程序员调用释放内存的操作。C++里是否能够实现类似Java的自动回收内存的机制呢?答案是肯定的,而Webrtc中的scoped_refptr就是实现类似的功能。首先我们从这个类的名字入手去理解它的含义。名字由三个单词组成,分别为scope,ref,ptr。先看ptr,C++程序员都知道这是pointer指针的意思,但是类名中包含指针的语义,.

2021-08-31 13:16:22 559

原创 通过 wireshark 体验 IP 层分包

不管是 TCP 包还是 UDP 包,如果 size 太大,到了 IP 层,都会进行分包处理。如何才算 size 太大呢?这个跟具体的网络类型有关。以最常用的以太网为例,允许的最大包 size 为 1500 字节,也就是我们俗称的 MTU(Maximum Transmission Unit)值。今天我们通过 Wireshark 工具,直观的感受一下 IP 层是如何对 TCP 或者 UDP 包进行分包处理的。实验环境:两台电脑+网络互通操作系统:Windows 或者 Linux 均可

2021-08-30 12:58:02 1259

原创 WebRTC 中的 RefCountedObject 解析

引用计数功能在对象的回收中至关重要,java 中,每个对象都会有引用计数,当引用计数为 0 时,对象将被标记会可回收,等待着垃圾回收机制进行回收。C++中没有垃圾自动回收的机制,但是不妨碍我们想办法自己实现这种引用计数的功能。在 Webrtc 中,RefCountedObject 类就是承担了这样的功能。template <class T>class RefCountedObject : public T { public: RefCountedObject() {} ...

2021-08-30 12:52:32 475

原创 关于 C++ 中“不能返回对象引用”的思考

C++的使用者或多或少都听说过这样一句话:函数返回值不能返回对象的引用。这句话当然是错误的,如果函数返回值真的不能返回对象引用,那编译器直接把这种情况判定为编译错误就可以了。那这句话究竟是哪里说错了?我们可以先看看一下代码:A& func(){ A a; return a;}对象 a 是在函数栈上分配,当 func 函数调用完毕后,对象 a 就会被回收,此时如果把对象 a 的引用当作返回值,那将访问到被回收的内存而导致程序异常出错。但是看看下面的代码:...

2021-08-30 09:23:24 552

原创 基于GPU的三维气象数据显示

    这篇文章是关于气象局的一个项目,写出来旨在总结一下自己两个月的劳动成果,同时也写写东西,毕竟很久没写东西了,表达能力也有退化之嫌。不多废话,直奔主题。    基于GPU的三维气象数据显示,这个题目已经定义了这个项目运行的硬件要求以及显示的主要内容。先来说说气象局提供的一些数据格式,其实说来也很简单,就是500*400*20的网格数据,每个网格数据的格式是unsigned byte,用计

2009-10-05 22:50:00 2237 2

原创 关于placement new

    都说看别人写的代码是一件很痛苦的事情,最近为了自残竟一股劲的死磕Ogre的代码,当然是牺牲了千千万万的脑细胞而进展却异常的缓慢。两个星期过去了,竟没有放弃的念头,看来人是会有进步的。    毕竟还是菜鸟,而面对C++的博大精深,难免很多不懂的地方。其中就包括placement new。先看看Ogre其中的一段代码:#define OGRE_NEW_T(T, category) ne

2009-01-21 18:08:00 693

空空如也

空空如也

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

TA关注的人

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