自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (7)
  • 收藏
  • 关注

转载 Epoll在LT和ET模式下的读写方式

在一个非阻塞的socket上调用read/write函数, 返回EAGAIN或者EWOULDBLOCK(注: EAGAIN就是EWOULDBLOCK)从字面上看, 意思是:EAGAIN: 再试一次,EWOULDBLOCK: 如果这是一个阻塞socket, 操作将被block,perror输出: Resource temporarily unavailable总结:这个错误表示资源暂

2016-03-30 15:20:35 304

原创 ldd gperftool 用法

1.ldd 用来显示进程所依赖的动态库路径[root@iZ94xjteonrZ C++]# ldd test        linux-vdso.so.1 =>  (0x00007fff8cb08000)        libprofiler.so.0 => /usr/local/lib/libprofiler.so.0 (0x00007fb1f0d6a000)        li

2016-03-19 22:49:41 815

原创 must read

1.解决hash 碰撞的问题? 单链表还是双链表2.setsokcetopt()函数作用,可用选项哪些?3.内存泄露,段错误,cpu高负载,死锁相关调试方法4.虚析构函数作用5.fork() wait()函数作用6.new 和malloc 用法,区别7.strcpy memcpy memove() 函数 使用注意点

2016-03-19 16:52:40 528

转载 各种排序算法时间复杂度和空间复杂度表

2016-03-18 21:10:19 921

转载 一种定位内存泄露的方法(Linux)

目的:本文是《一种定位内存泄露的方法(Solaris)》对应的Linux版本,调试器使用gdb。主要介绍实例部分。其他请见《一种定位内存泄露的方法(Solaris)》。实例:模拟new失败的程序:#include class ABC{public:        virtual ~ABC(){}        int i;        int j;};

2016-03-18 18:43:17 450

转载 Linux 多线程调试(内存占用、死循环、CPU占用率高……)

你的软件在某个时刻停止服务,CPU占用达到100%+,这种问题一个可能的原因是产生了死循环,假设程序某处存在潜在的死循环,并在某种条件下会引发,本文以一个示例来定位出现死循环的位置。当程序某处存在死循环,通常定位问题及缩小范围的方法是,在可疑的代码处加log,或者注释掉可疑代码,这对于容易重现问题的程序来说还好,但对于“偶尔”才会产生问题程序却很难调试,因为我们很难重现程序故障。本文所述的调试

2016-03-18 18:35:56 1148

原创 查看个线程的CPU 内存占用

#include #include #include #include #include #include #include pthread_t tid[10];void * thread_handler(void *arg){ printf("thread num =%d lwpid=%u ...tid:%u,parentid:%u\n",(int)arg, sy

2016-03-18 18:34:11 3260

原创 查看线程CPU占用情况

可使用如下命令查看程序中各个线程CPU占用情况top -H -p pid另一种方法通过pstree pid查到pid下所有的thread 然后top查看,按下H找到对应的线程即可。

2016-03-18 17:32:49 1097

原创 PID PPID LWP NLWP

ps -Lf [PID]UID为User ID.PID为processid,进程标识符PPID为 parent processid,父进程标识符2,LWP为light weight process orthread, 轻量级进程,即线程标识符NLWP为,number oflwps(threads) in the process, 线程的数量

2016-03-18 17:30:04 2616

转载 Linux下多线程查看工具(pstree、ps、pstack)

1. pstreepstree以树结构显示进程$ pstree -p work | grep adsshd(22669)---bash(22670)---ad_preprocess(4551)-+-{ad_preprocess}(4552)                                                |-{ad_preprocess}(4553)

2016-03-18 17:26:46 305

转载 STL中vector、list、deque和map的区别

1 vector    向量 相当于一个数组    在内存中分配一块连续的内存空间进行存储。支持不指定vector大小的存储。STL内部实现时,首先分配一个非常大的内存空间预备进行存储,即capacituy()函数返回的大小,当超过此分配的空间时再整体重新放分配一块内存存储,这给人以vector可以不指定vector即一个连续内存的大小的感觉。通常此默认的内存分配能完成大部分情况下的存

2016-03-15 16:27:52 328

转载 time_wait和close_wait状态

在服务器的日常维护过程中,会经常用到下面的命令:[plain] view plain copy netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'   它会显示例如下面的信息:TIME_WAIT 814CLOSE_WAIT 1

2016-03-15 10:14:49 353

转载 c++ 智能指针

C++ 智能指针详解 一、简介由于 C++ 语言没有自动内存回收机制,程序员每次 new 出来的内存都要手动 delete。程序员忘记 delete,流程太复杂,最终导致没有 delete,异常导致程序过早退出,没有执行 delete 的情况并不罕见。用智能指针便可以有效缓解这类问题,本文主要讲解参见的智能指针的用法。包括:std::auto_ptr、boost::scoped_p

2016-03-14 20:13:47 319

转载 STL常见问题

1.C++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector, string, list等方便的容器,更重要的是STL封装了许多复杂的数据结构算法和大量常用数据结构操作。vector封装数组,list封装了链表,map和set封装了二叉树等2.标准关联容器set, multiset, map, multimap内部采用的就是一种非常高效的平衡检索二叉树:红黑树,也成

2016-03-11 17:45:50 501

转载 归并排序

归并排序是利用递归和分而治之的技术将数据序列划分成为越来越小的半子表,再对半子表排序,最后再用递归步骤将排好序的半子表合并成为越来越大的有序序列,归并排序包括两个步骤,分别为:      1)划分子表      2)合并半子表      首先我们来讨论归并算法,归并算法将一系列数据放到一个向量中,索引范围为[first,last],这个序列由两个排好序的子表构成,以索引终点

2016-03-11 17:35:58 302

转载 判断两个链表是否相交并找出交点

问题描述:一个比较经典的问题,判断两个链表是否相交,如果相交找出他们的交点。思路:1、碰到这个问题,第一印象是采用hash来判断,将两个链表的节点进行hash,然后判断出节点,这种想法当然是可以的。2、当然采用暴力的方法也是可以的,遍历两个链表,在遍历的过程中进行比较,看节点是否相同。3、第三种思路是比较奇特的,在编程之美上看到的。先遍历第一个链表到

2016-03-11 16:39:45 306

转载 单链表是否有环的问题

题目:给定一个单链表,只给出头指针head:1、如何判断是否存在环?2、如何知道环的长度?3、如何找出环的连接点在哪里?4、带环链表的长度是多少?解法:1、对于问题1,使用追赶的方法,设定两个指针slow、fast,从头指针开始,每次分别前进1步、2步。如存在环,则两者相遇;如不存在环,fast遇到NULL退出。2、对于问题2,记录下问题

2016-03-11 16:38:08 320

转载 base64 编码原理

开发者对Base64编码肯定很熟悉,是否对它有很清晰的认识就不一定了。实际 上Base64已经简单到不能再简单了,如果对它的理解还是模棱两可实在不应该。大概介绍一下Base64的相关内容,花几分钟时间就可以彻底理解它。文 章下边贴了一个Base64的编解码器,方便阅读文章的同时来实验。  一. Base64编码由来  为什么会有Base64编码呢?因为有些网络传送渠道并不支持所有的

2016-03-11 14:47:53 295

原创 h264 分析工具

esEye 分析264的码流结构

2016-03-11 14:46:49 2635

转载 最简单的基于FFMPEG的封装格式转换器(无编解码)

版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]=====================================================最简单的基于FFmpeg的封装格式处理系列文章列表:最简单的基于FFmpeg的封装格式处理:视音频分离器简化版(demuxer-simple)最简单的基于

2016-03-08 16:51:29 318

转载 视音频数据处理入门:FLV封装格式解析

=====================================================视音频数据处理入门系列文章:视音频数据处理入门:RGB、YUV像素数据处理视音频数据处理入门:PCM音频采样数据处理视音频数据处理入门:H.264视频码流解析视音频数据处理入门:AAC音频码流解析视音频数据处理入门:FLV封装格式解析视音

2016-03-08 14:28:46 465

转载 视音频数据处理入门:UDP-RTP协议解析

=====================================================视音频数据处理入门系列文章:视音频数据处理入门:RGB、YUV像素数据处理视音频数据处理入门:PCM音频采样数据处理视音频数据处理入门:H.264视频码流解析视音频数据处理入门:AAC音频码流解析视音频数据处理入门:FLV封装格式解析视音

2016-03-08 14:15:46 886

转载 视音频数据处理入门:AAC音频码流解析

=====================================================视音频数据处理入门系列文章:视音频数据处理入门:RGB、YUV像素数据处理视音频数据处理入门:PCM音频采样数据处理视音频数据处理入门:H.264视频码流解析视音频数据处理入门:AAC音频码流解析视音频数据处理入门:FLV封装格式解析视音

2016-03-08 14:09:04 579 1

转载 视音频数据处理入门:H.264视频码流解析

版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]=====================================================视音频数据处理入门系列文章:视音频数据处理入门:RGB、YUV像素数据处理视音频数据处理入门:PCM音频采样数据处理视音频数据处理入门:H.264

2016-03-08 14:08:25 971 1

转载 Linux 软连接与硬链接

ln命令   该命令在文件之间创建链接。这种操作实际上是给系统中已有的某个文件指定另外一个可用于访问它的名称。对于这个新的文件名,我们可以为之指定不同的访问权限,以控制对信息的共享和安全性的问题。 如果链接指向目录,用户就可以利用该链接直接进入被链接的目录而不用打一大堆的路径名。而且,即使我们删除这个链接,也不会破坏原来的目录。   语法:ln [选项] 目标 [链接名]   ln [

2016-03-07 18:27:14 346

转载 String类 默认生成的函数

String类中系统默认实现了4个函数,但是在程序中我们常常自己要去实现,下面就是实现的代码:在使用String的过程中,如果拷贝构造函数和赋值函数采用了系统设计的话,会出现错误,因为系统只是实现了浅拷贝,也就是只用了指针赋值的形式,这样往往在程序设计的过程中出现错误。所以如果自己用到了,一定要自己实现:[cpp] view plain copy

2016-03-07 14:03:32 478

原创 filezilla

filezilla 你值得拥有!

2016-03-05 12:12:25 352

原创 Linux 后台进程与守护进程

后台进程:未真正脱离终端运行,仍可打印在终端上,仍属于终端的子进程。守护进程:完全脱离终端,成为另一个组的进程老大

2016-03-04 18:16:32 328

转载 epoll 边沿触发

在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux/posix_types.h头文件有这样的声明:#define __

2016-03-04 16:06:33 724

RTP 开发介绍

流媒体传输介绍,以及rtp rtcp rtsp 的编码使用举例.

2015-07-20

xml 封装接口

基于tinyxml库的封装源码,主要是针对log and config file interface

2014-06-20

mysqldump基本用法

mysqldump 指导你使用怎么使用导入导出功能

2014-06-19

空空如也

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

TA关注的人

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