自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (41)
  • 收藏
  • 关注

转载 TCP Socket: shutdown VS close

shoutshwn 半断开 close读写都关闭tcp断开的三个等待    发送fin后的等待ack   ack后等待对方发送fin,返回ack   ack后等待2ms,确保对方已经接收ackshutdown & close  Muduo TcpConnection 没有提供 close,而只提供 shutdown ,这么做是为了收发数据的完整性。  TCP 是一个全双工协议,同一个文件描...

2018-02-27 10:08:35 394

原创 share_ptr 与enable_shared_from_this

 enable_shared_from_this,是一个以其派生类为模板类型实参的基础模板,继承它,this指针就能变成shared_ptr。什么时候该使用enable_shared_from_this模板类       在看下面的例子之前,简单说下使用背景,单有一个类,某个函数需要返回当前对象的指针,我们返回的是shared_ptr,为什么使用智能指针呢,这是因为:当我们使用智能指针管理资源时,...

2018-02-27 09:47:31 323

转载 C++11之右值引用(二):右值引用与移动语义

上节我们提出了右值引用,可以用来区分右值,那么这有什么用处? 问题来源 我们先看一个C++中被人诟病已久的问题:我把某文件的内容读取到vector中,用函数如何封装?大部分人的做法是:void readFile(const string &filename, vector<string> &words){ words.clear(); //read X...

2018-02-26 16:05:22 210

转载 C++11之右值引用(一):从左值右值到右值引用

C++98中规定了左值和右值的概念,但是一般程序员不需要理解的过于深入,因为对于C++98,左值和右值的划分一般用处不大,但是到了C++11,它的重要性开始显现出来。C++98标准明确规定:左值是可以取得内存地址的变量。非左值即为右值。从这里可以看出,可以执行&取地址的就是左值,其他的就是右值。这里需要明确一点,能否被赋值不是区分C++左值和右值的区别。我们给出四个表达式:string o...

2018-02-26 16:04:15 201

原创 c++ RVO 和 NRVO

在查看std::move是否有必要在return localvar 中使用的时候,查看到了RVO和NRVO,因为std::move总是会调用移动构造函数所以会增加一次构造。关于RVO和NRVORVO (return value optimization) 和NRVO (named return value optimization) 是C++在处理 “返回一个class object的函数” 时常...

2018-02-25 16:24:24 1012 1

原创 gcc 内置函数-效率

    在打印日志的时候,用到__FILE_,会显示绝对路径。使用strrchr()来单独分割出文件名。因为strrchr是gcc的内置函数。对于解析gcc的内置宏,完全可以在编译时期就生成结果。如果我们使用变量传入strrchr来处理就不会调用内置函数,而是当作普通的标准库函数使用,必然影响效率class SourceFile { public: template<int...

2018-02-24 18:25:10 557

转载 gdb 调试入门-bcc&perf-tools

bcc&perf-tools有空要研究一下这两个工具的使用方法没想到Brendan Gregg这样的大牛,会写出这样一篇gdb tutorials文章:gdb Debugging Full Example (Tutorial): ncurses 。但可能正如文章开头所说,大牛对网上的gdb文章都不太满意,所以才有了这篇高质量指南,gdb入门者的福音。—— 何登成如果你是系统管理员,但还不认...

2018-02-24 16:40:32 1601

转载 TCP协议的性能评测工具 — Tcpdive开源啦

Github地址:https://github.com/fastos/tcpdive 为什么要开发Tcpdive在过去的几年里,随着移动互联网的飞速发展,整个基础网络已经发生了翻天覆地的变化。 用户接入网络的方式,除了宽带和光纤之外,还有2G/3G/4G/WiFi,5G也已经在路上了。 作为使用范围最广的传输层协议,TCP诞生于固网时代,在设计之初并没有考虑到上述种种情况, 这导致了它在某些场景下...

2018-02-24 15:59:18 391

转载 系统级性能分析工具 — Perf

出处。 http://blog.csdn.net/zhangskd/article/details/37902159目录(?)[+]从2.6.31内核开始,linux内核自带了一个性能分析工具perf,能够进行函数级与指令级的热点查找。 perf Performance analysis tools for Linux.Performance counters for Linux are a ne...

2018-02-24 15:54:41 250

转载 Perf 简介 性能调试工具

Perf 简介Perf 是用来进行软件性能分析的工具。通过它,应用程序可以利用 PMU,tracepoint 和内核中的特殊计数器来进行性能统计。它不但可以分析指定应用程序的性能问题 (per thread),也可以用来分析内核的性能问题,当然也可以同时分析应用代码和内核,从而全面理解应用程序中的性能瓶颈。最初的时候,它叫做 Performance counter,在 2.6.31 中第一次亮相。...

2018-02-24 15:49:32 827

转载 服务端段错误

之所以有上篇文章,是因为那个方法就是我在解决这篇文章中的问题时使用的.为了避免篇幅过大,所以分成了两篇专栏.先说说这次崩溃吧,第一次崩溃是晚上7点多,运营同学发来了bt(gdb命令,就是backtrace stack),如下图:看见这种调用栈我的第一想法就是栈越界了,栈越界我一点都不担心,比什么野指针写坏堆好解决多了,因为离"犯罪现场"近啊.上一篇专栏里说过,无法回溯调用栈有可能是"调用栈链表头"...

2018-02-24 15:27:45 646

转载 一种处理栈越界的方法

在linux下,栈越界写坏返回地址会导致调用栈无法回溯,这就导致我们直接使用bt没有办法查看崩溃时调用栈,今天我讲一下我最近研究出来的一种方法(虽然是原创,但可能互联网上早有人发布过此种方法,只不过我没有查到而已).废话少说,步入正题,首先我写了个简单的程序来构造一个栈溢出的情况,为了使效果更加明显,我使用了一些递归来增加调用栈的深度,代码如下:不要吐槽命名方式,我也知道很丑,栈都能越界的程序,一...

2018-02-24 15:26:44 827

转载 一次虐心的调试-dump分析的基本流程

同事客户端崩溃,索dmp,上windbg:0:000> .ecxreax=00000000 ebx=19eeddb0 ecx=19eeddb0 edx=2b7e011c esi=05beaf80 edi=0167d4c0 eip=004d7bd8 esp=0018f304 ebp=0018f310 iopl=0 nv up ei pl nz na po nccs=0023 ss=002b d...

2018-02-24 15:22:09 518

转载 SysAdmim 必备:系统性能大牛 Brendan Gregg 分享的 Linux 性能工具

Brendan Gregg 目前是 Netflix 的高级性能架构师 ,他在那里做大规模计算机性能设计、分析和调优。他是《Systems Performance》等技术书的作者,因在系统管理员方面的成绩,获得过 2013年 USENIX LISA 大奖。他之前是 SUN 公司是性能领头人和内核工程师,他在 SUN 开发过 ZFS L2ARC,研究存储和网络性能。他也发明和开发过一大波性能分析工具,...

2018-02-24 14:23:28 629

转载 linux 写时拷贝

string的写时拷贝:linux fork 时候的写时拷贝 :http://www.cnblogs.com/biyeymyhjob/archive/2012/07/20/2601655.html 方案三class String{    private:              char* _str;              int* _refCou

2018-02-06 14:18:24 275

转载 利用进程信息追查内存泄漏

一、问题现象Bigpipe是Baidu公司内部的分布式传输系统,其服务器模块Broker采用异步编程框架来实现,并大量使用了引用计数来管理对象资源的生命周期和释放时机。在对Broker模块进行压力测试过程中,发现Broker长时间运行后,内存占用逐步变大,出现了内存泄漏问题。二、初步分析针对近期Broker的升级改造点,确定Broker中可能出现内存泄漏的对象。Broker新增了监控功能,其中一项...

2018-02-06 14:14:54 1008

原创 gdb 调试无堆栈??---pthread_join coredump

1) 编译的时候添加编译选项-fstack-protector 和 -fstack-protector-all 这两个选项指示编译器开启栈保护,这样在栈乱序的第一时间可以dump出来现场。可加在Makefile里面, 顺便扯一句,Makefile这种东西对于搞开源软件的人,还真是得精通,我随便想写个Makefile玩着,突然感觉自己头脑一片空白。-fno-omit-frame-pointer 一个...

2018-02-06 14:13:14 2088

原创 linux程序内存信息pmap

pmaplddstace要熟悉的几个调试命令!两个查看内存的文件$ cat /proc/<pid>/stat | awk '{print $23 / 1024}'$ cat /proc/<pid>/status | grep -i vmsize其中,关于内存的是 VSZ 和 RSS 这两个概念man ps 看看它们的含义:rss       RSS    resident...

2018-02-05 10:41:26 335 1

转载 gdb调试宏、条件断点、命令行参数

gdb调试宏、条件断点、命令行参数例子:#include <stdlib.h>#include <stdio.h>#define MACRO1(x) (++(x))#define MACRO2(x) (MACRO1(x)+100)#define MACRO3(x) (MACRO2(x)+200)int main(void){ int a = 0; ...

2018-02-05 09:52:09 1832

转载 GDB 调试C++异常

调试C++异常的两种办法:1) 直接获取异常的相关调用函数,在相应函数处设置断点。2) 利用gdb的catch throw/catch。(程序执行后,方有效)(gdb) bt#0 0x0000003cf592e2ed in raise () from /lib64/tls/libc.so.6#1 0x0000003cf592fa3e in abort () from /lib64/tls/libc...

2018-02-05 09:36:11 2241

转载 gdb 栈破坏 寄存器

gdb调试秘籍(寄存器、栈)GDB的常用调试命令大家可以查阅gdb手册就可以快速的上手了,在这儿就不给大家分享了,需要的可以到GDB的官网去下载手册。这里重点分享下GDB调试中的一些寄存器和栈的相关知识用于解决下列gdb调试时的问题:优化的代码在printf或其它glibc函数处core没有检查返回值的函数调用异常导致的异常优化的代码的计算异常的中间过程分析栈溢出导致的core局部变量越界导致栈异...

2018-02-02 17:10:42 670

转载 losf 和strace 句柄泄漏

1.  确定哪个进程在泄漏, 可以用命令 lsof -n|awk '{print $2}'| sort | uniq -c | sort -nr | head   ,这个命令找的是打开句柄数目最多的进程, 多敲入几次, 就知道是那个进程在增长了。 而且累积到一定阶段, 泄漏的进程打开的句柄数会增长。  此步骤可以找到泄漏的进程号xxx       2.  利用ps -aux | grep  xxx...

2018-02-01 19:26:55 432

调试工具培训.7z

调试工具培训:这个是我们工作中解决一些常用的bug所用到的工具和解决方法。给其他员工培训的资料。有示例,

2015-11-22

Windows Sockets网络开发:基于Visual C 实现

Windows Sockets网络开发:基于Visual C 实现

2015-11-22

软件调试实战

软件调试实战

2015-11-22

windows 开机自启动的方案

windows 开机自启动的方案

2015-11-22

关于理解完成端口详解的代码.zip

关于理解完成端口详解的代码

2015-11-22

Visual C 数字图像获取、处理及实践应用》源代码

Visual C 数字图像获取、处理及实践应用》源代码

2015-11-22

Hadoop安装配置

Hadoop安装配置 自己工作中 总结的Hadoop安装的步骤 有效使用

2015-11-22

Gdbinit-书写自己的命令

不论是linux和MinGW 调试GDB都可以使用自己的命令 快捷比如plist查看列表等等

2015-11-22

BMP和YUV转换

普通的 BMP和YUV转换 可以使用 在项目中使用过

2015-11-22

基于D3D的YUV播放器

用于自己创建的播放器,可以合成到rtmp或者ffmpeg的player工程中,我合成过

2015-11-22

IOS 音视频 硬编码

不是写文件方式硬编码,直接用IOS 2014最新公开的编码接口编码成h264 和AAc 文件和流都有。项目中实际用到的 绝对真实可靠

2015-11-19

中兴公司Oracle数据库培训教程

中兴公司Oracle数据库培训教程 内部资料你值得拥有

2015-06-17

Oracle存储过程和触发器教程

Oracle存储过程和触发器教程 Oracle深入理解必备课件

2015-06-17

RAID磁盘阵列高级教学课件.rar

RAID磁盘阵列高级教学课件 易学易懂的磁盘资料 深入详解RAID

2015-06-17

gdb培训资料

gdb 叫你快速使用gdb GDB非常有用的资料,学不会找我

2015-06-17

C++类型转换(char* string cstring unicode ansi )转换

自己根据实际编程中用到的字符类型转换的收集,C++类型转换(char* string cstring unicode ansi 等等)转换

2015-04-01

opencv2_图像处理._去雾_均衡_镜头畸变_等等

opencv2_图像处理._去雾_均衡_镜头畸变_过度曝光、曲线调整、亮度饱和度增强等等绝对有用,没有我吃屎

2015-04-01

h264_AVI_Elecard_FLV_MP3_Mp4 解析器非常有用

h264_AVI_Elecard_FLV_MP3_Mp4 解析器非常有用,其他问题可以联系我

2015-04-01

gn_project.zip

gn_project.zip 一个gn的最小可编译的最小工程 参考:https://blog.csdn.net/weixin_44701535/article/details/88355958

2019-12-06

webrtc demo流程图

webrtc demo流程图,connect to peer ,create port 、set local description

2018-11-26

TS流格式解析

TS流 格式 解析

2017-03-27

opengl 图像处理 亮度 对比度

把代码拷贝到http://transitions.glsl.io/transition/new,既可运行查看效果,验证有效

2016-08-10

audio_process

提取的webrtc VAD模块 可运行

2016-08-08

windows mft d3d11渲染显示 播放器

windows mft d3d11渲染显示 播放器 键盘D删除播放器 键盘P 重新创建和播放视频

2016-06-07

OpenGL ES应用开发实践 指南 iOS卷全版

高清 全版 OpenGL ES应用开发实践 指南 iOS卷 值得下载

2016-01-11

Objective-C高级编程:iOS与OS X多线程和内存管理.pdf

Objective-C高级编程:iOS与OS X多线程和内存管理.pdf 185页 完整版

2015-12-02

IOS_Encode_new.zip

IOS_Encode_new.zip 硬编码

2015-11-25

lib-mp4v2_IOS_build.zip

lib-mp4v2_IOS_build.zip 自己的脚本编译通过,里面包含脚本、源码、生成可用的库、使用的封装代码 非常好的资源

2015-11-24

Linux C编程实战.pdf

Linux C编程实战.pdf

2015-11-22

Shell脚本培训资料-2015.zip

Shell脚本培训资料-2015.zip

2015-11-22

rtmp发送h264FlashMediaEncoder2.2.rar

rtmp发送h264FlashMediaEncoder2.2.rar

2015-11-22

Linux实战-2小时玩转iptables

Linux实战-2小时玩转iptables.pdf

2015-11-22

rtp2mp4-rtp h264 acc 合成MP4.zip

rtp2mp4-rtp h264 acc 合成MP4.zip

2015-11-22

iSCSI详解手册.pdf

iSCSI详解手册.pdf

2015-11-22

iptables 高级使用研讨 v1.0.0.pdf

iptables 高级使用研讨 我也没学明白的命令

2015-11-22

空空如也

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

TA关注的人

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