自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 城市ID

#ifndef __CITYDATA_H__#define __CITYDATA_H__#ifdef __cplusplusextern "C"{#endifextern int cd_get_city_id(const char *pcity_name, long int *pcity_id);extern int cd_get_city_name(long int city_id, char ...

2018-07-15 16:09:12 3356

原创 链表基础

/* * =========================================================================== * * Filename: Linklist.c * Description: * Version: 1.0 * Created: 2018年04月15日 12时49分5...

2018-04-15 14:22:16 553

原创 C++单例模式(懒汉 & 饿汉)

单例模式存在的意义是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。懒汉示例如下:#ifndef SINGLETON_H#define SINGLETON_H#include <iostream>#include <QMutex>using namespace std;//用户访问唯一实例的方法只有GetInstance()成员函数...

2018-04-07 19:33:54 1956

原创 IO多路复用 IO异步

IO多路复用 IO异步一、概念说明同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别?不同的人在不同的环境给出的答案是不同的。所以先限定一下本文的环境。本文讨论的背景是Linux环境下的network IO在进行解释之前,首先要说明几个概念:- 用户空间和内核空间- 进程切换- 进程的阻塞- 文件描述符- 缓存 I/O用户空间与内核空间现在操作系统都是采用虚拟存储器,那么对32位操...

2018-03-30 15:05:07 670

原创 select

select函数:  系统提供select函数来实现多路复用输入/输出模型。原型:  #include <sys/time.h>  #include <unistd.h>  select函数:  系统提供select函数来实现多路复用输入/输出模型。原型:  #include <sys/time.h>  #include <unistd.h>  in...

2018-03-29 17:59:11 279

原创 linux中send函数MSG_NOSIGNAL

linux下当连接断开,还发数据的时候,不仅send()的返回值会有反映,而且还会向系统发送一个异常消息,如果不作处理,系统会出BrokePipe,程序会退出,这对于服务器提供稳定的服务将造成巨大的灾难。为此,send()函数的最后一个参数可以设MSG_NOSIGNAL,禁止send()函数向系统发送异常消息//中间的select就是为了侦测断开后再次连接并二次sendint socket_sen...

2018-03-29 17:07:33 9538

原创 播放器二(FFMPEG+SDL+AUDIO)

AUDIO大致流程://初始化输入avformat_open_input()           -- 打开对应音频文件avformat_find_stream_info()     -- 从输入文件中获取到流的相关信息,例如:文件中流的数量//初始化解码器avcodec_find_decoder()          -- 根据ffmpeg提供的解码器id,找到对应的解码器avcodec_ope...

2018-03-15 16:57:39 457 2

原创 播放器一(FFMPEG+SDL+VIDEO)

知识点如下:1、pFrameYUV为sws_scale缩放接口的出参,通过指针方式将pFrameYUV数据赋值给bmp2、播放器函数简介av_register_all():注册所有组件avformat_opent_input():打开输入视频文件avformat_find_stream_info():获取视频文件信息avcodec_find_decoder():查找解码器avcodec_open2...

2018-03-14 20:06:05 1324 1

原创 Linux下查看CPU、内存占用率

Linux下查看CPU、内存占用率我们经常需要查看CPU和内存占用率,否则一旦存在情况很快就会有IDC(或客户)找上门,Linux上查看资源使用情况有多种命令可以参考,CPU、内存、IO、NETWORK等资源使用情况都可以通过某些命令查询到,本文只说CPU/内存及简单的问题追踪方法。一、top查看Linux资源占用情况top命令可以查看CPU、内存利用率,当然这些值都是平均利用率,以下是安装APA...

2018-02-09 10:18:39 127397 1

原创 Linux进程放入后台

Linux下进程放入后台执行几种方法:1. nohup顾名思义,nohup的用途就是让提交的命令忽略所有的hangup信号。使用方法:nohup COMMAND [ARG]…nohup 示例1234567[root@pvcent107 ~]# nohup ping www.ibm.com &[1] 3059nohup: appending output to `nohup.out'...

2018-02-09 10:11:59 4664

原创 虚拟机磁盘清理

vmware磁盘空间占用越来越大背景vmware虚拟机安装操作系统,在使用过程中,不知什么原因,磁盘占用空间越来越大。原因虚拟机在使用过程中,需要安装的软件我都是通过拖拽上传的安装包。由于虚拟机会缓存拖拽文件,不自动删除,导致系统占用空间越来越大。解决办法1、可以查看使用过拖拽文件的用户的.cache目录,看里面是否存在vmware缓存的文件目录类似:/root/.cache/vmware/dra...

2018-02-09 10:07:20 2531

原创 C++系列(运算符重载)

所谓运算符重载,就是给原有运算符赋予新的功能。比如说,加好(+)是用来做两个数字相加操作的(如:1+1=2),但是,我们往往用加号来让两个字符串作拼接(如:慕+课=慕课),那么,这个时候就是给加号做了运算符的重载。我们来看一个常见的例子:在这个例子当中,我们就使用了加号去连接多个字符串,使其拼接成一个字符串,而且,我们在打印的时候,也可以将拼接好的字符串直接打印出来,那么这个字符串就进行了多个运算...

2018-02-08 11:05:26 788

原创 C++系列(友元)

我们提到过C++中存在一种朋友关系,这种朋友关系如果体现在函数上,那么我们就称之为友元函数;如果体现在类上,我们就称之为友元类。友元函数对于我们定义函数的情形来说,一种情况是将函数定义为全局函数,另一种情况是将函数定义在一个类当中,使其成为类的一个成员函数。如果将全局函数声明为友元,则成为友元全局函数;如果将一个类的成员函数声明为另外一个类的友元函数,那么称该成员函数为友元成员函数。友元全局函数我...

2018-02-08 11:00:29 1098 1

原创 C++系列(标准模板库STL)

C++标准模板库,简称为STL:Standard Template Lib。关于STL涉及的部分比较多,我们这里只选具有代表性和最常用的部分给大家进行分享。vector向量vector的本质就是:对数组的封装。大家可以将其看作是一个数组,只不过对于vector这个数组来说,相对于我们之前所学的传统数组的功能要强大得多。它可以根据所存储的元素个数,自动变长或者缩短,同时,它还具有一个

2018-01-06 16:47:04 1660

原创 RTTI & dynamic_cast

C++ 学习

2017-12-30 16:46:13 366

原创 对象数组

C++白话系列 对象数组

2017-12-24 11:27:05 539

原创 RTCP/RTP (动态码流)

RTCP/RTP & Webrtc 动态码流

2017-12-20 10:14:56 2609

原创 C++模板函数 & 模板类

C++ 模板函数 & 模板类

2017-12-18 16:36:32 2236

原创 C++系列(关键字static)

static前面的课程我们介绍了:普通的数据成员和普通的成员函数的定义方法,又介绍了const关键字,并且讲解了用const关键字来修饰数据成员和成员函数,我们把这样的数据成员和成员函数称之为常数据成员和常成员函数。这节课,我们再为大家介绍一个关键字:static(静态的)。在C++中提到静态,就不得不提到两个基本概念:静态数据成员和静态成员函数。我们以一个例子来看一下静态数据成员和静态成

2017-12-18 15:57:26 566

原创 C++系列(纯虚函数和抽象类)

一个含有纯虚函数的类(抽象类)来说,其无法进行实例化那么,纯虚函数是什么呢??从上面的定义可以看到,纯虚函数就是没有函数体,同时在定义的时候,其函数名后面要加上“= 0”。

2017-12-18 15:52:57 60731

原创 C++多态 & 虚函数 & 虚析构 & 覆盖 & 虚表

静态绑定:互为重载动态绑定:virtual虚函数,虚表,覆盖虚析构

2017-12-18 15:39:17 841 1

原创 C++三种继承方式 & is-a & has-a & 隐藏

C++类中的成员(函数/变量)拥有三种访问权限:public:表示公有成员,该成员不仅可以在类内可以被访问,在类外也是可以被访问的,是类对外提供的可访问接口;private:表示私有成员,该成员仅在类内可以被访问,在类体外是隐藏状态;protected:表示保护成员,保护成员在类体外同样是隐藏状态,但是对于该类的派生类来说,相当于公有成员,在派生类中可以被访问。

2017-12-18 13:27:29 1764 1

原创 C++系列 (对象的引用和对象的指针)

对象的引用和对象的指针 (常指针与常引用)const 左定值,右定向,修饰不变参

2017-12-15 17:53:17 6558

原创 C++系列(const再现江湖)

const再现江湖之前我们已经学习过const了,但是还是不够深入,这节课我们继续来学习const。下面先来看一个例子。这里我们定义了一个坐标Coordinate的类,在这个坐标类当中我们定义了两个数据成员,分别表示横坐标和纵坐标(注意:这两个数据成员我们都用了const关键字来修饰),另外我们还定义了一个构造函数,这个构造函数中有两个参数,我们希望将这两个参数传进来后类似

2017-12-15 17:38:14 367

原创 C++系列(this指针)

C++ this指针

2017-12-15 17:31:47 482

原创 C++const 关键字小结

const 是constant的缩写,本意是不变的,不易改变的意思。const 在C++中是用来修饰内置类型变量,自定义对象,成员函数,返回值,函数参数。 对于A,B,C三种情况,根据const位于*号的位置不同,我总结三句话便于记忆的话,“左定值,右定向,const修饰不变量”。

2017-12-15 16:46:59 330

原创 P2P穿透(ENet丢包重传)

P2P穿透 & ENet :P2P穿透成功后,获得对端IP和端口通过ENet进行连接传输数据,解决了UDP丢包视频卡顿的问题!http://download.csdn.net/download/yuanchunsi/10159049

2017-12-14 19:30:53 1482

原创 ENet接口说明

ENet 接口说明及翻译

2017-12-12 15:52:10 7040

转载 快速可靠协议:KCP

快速可靠协议:KCP

2017-12-08 17:08:48 1146

转载 几种UDP网络库的整理 Raknet,UDT,ENet,lidgren-network-gen3

几种UDP网络库的整理Raknet,UDT,ENet,lidgren-network-gen3

2017-12-08 17:04:25 1936

原创 C++两个类相互调用

C++两个类相互调用

2017-12-06 16:50:34 4169

原创 Wireshark & tcpdump & ELecard StreamEye Tools

Wireshark & tcpdump & ELecard StreamEye Tools

2017-12-06 15:33:51 729

转载 C++ 多态

C++多态

2017-12-02 19:40:18 346

转载 C++ 深入理解 虚继承、多重继承和直接继承

C++ 深入理解 虚继承、多重继承和直接继承

2017-12-02 18:14:48 7157 1

原创 live555 调优总结

live555调优总结

2017-12-01 15:55:37 4326 4

转载 C++ 虚继承对基类构造函数调用顺序的影响

C++ 虚继承对基类构造函数调用顺序的影响

2017-12-01 15:37:08 1452

原创 虚函数和纯虚函数的区别

虚函数和纯虚函数的区别

2017-12-01 15:20:16 314

原创 C++中virtual的三种用法

virtual三种用法

2017-12-01 14:39:46 24385 2

转载 C++中virtual(虚函数)的用法

C++中virtual(虚函数)的用法

2017-12-01 14:25:42 4458

转载 Qt5.7 + VS2015 环境搭建

Qt5.7 + VS2015 的环境搭建

2017-12-01 09:41:33 801

P2P & ENet

P2P & ENet..............................................................................................................................................................................

2017-12-14

ENet(可靠UDP)

ENet-1.3.13 NDK编译源码。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

2017-12-08

rtp_h264_extractor

rtp_h264_extractor,wireshark配置文件导出RTP中的264数据。。。。。。。。。。。。。。。。。。。。。。。。。

2017-12-06

tcpdump android

tcmpdump 包括android4.1引入PIE这个安全机制。。。。。。。。。。。。。。。。。。。。。。。。

2017-12-06

stud (p2p udp)

UDP穿透源代码,内有client ,server, WinStun。。。。。。。

2017-11-20

ortp & jrtp 开源库

ortp 和 jrtp 开源库。。。。。。。。。。。。。。。。。

2017-11-09

c实现ssdp协议

C语言实现SSDP协议

2017-08-29

ACE实现SSDP

ACE实现SSDP

2017-08-25

ACE库(linux)

ACE库 Linux

2017-08-25

android编译openssl静态库.a 动态库.so

android编译openssl静态库.a 动态库.so 1)make_static.sh 编译静态库 2)make_share.sh 编译动态库

2017-08-09

faad解码&amr编码

faad解码aac amr编码pcm 1)aac2pcm.c aac2pcm.h 2)pcm2amr.c pcm2amr.h

2017-08-07

ffmpeg指令

收集了工作中的音频视频文件,供ffmpeg指令练习

2017-08-03

live555类关系&结构图&博客

live555类关系&结构图&博客&协议说明

2017-08-03

live555接实时视频流+ffmpeg解+x264再编

live555接实时视频流+ffmpeg解+x264再编

2017-08-02

ffmpeg 转换pcm

ffmpeg 指令 PCM 转换 WAV & AAC & AMR & MP3

2017-08-01

AMR 编码 PCM & WAV

AMR编码基于第三方opencore-amr-0.1.5库 支持PCM2AMR,WAV2AMR test目录下:pcm2amr.c pcm2amr.c 调试通过

2017-08-01

faad2解码aac

1)NDK11下编译 2)Test.c和AACPCM.c

2017-07-28

udp丢包率统计

udp丢包率统计

2017-07-17

VS2010之MFC入门到精通教程.dox

MFC & VS2010

2017-07-11

VS2010之MFC入门到精通教程.pdf

MFC & VS2010

2017-07-11

VS2010之MFC入门到精通教程

MFC VS2010

2017-07-11

x264编码(yuv2h264)

x264编码

2017-07-11

WebSocket协议中文版

websocket

2017-07-11

AEC测试数据2

AEC测试数据

2017-06-20

AEC测试数据

AEC测试数据

2017-06-15

ONVIF双向对讲2

1、添加backchannel的live555源码 2、封装好的jni接口 3、ONVIF2.0协议

2017-06-06

ONVIF双向对讲

1、ONVIF2.0协议 2、包含backchannel的live555源码 3、封装好的jni接口

2017-06-06

PCM2G711(ALAW&ULAW)

资源如下: 1、pcm2g711可编码源码,VS2010 ,支持ALAW和ULAW 2、G711数据封装rtp,VLC播放 3、G711简单播放器

2017-06-06

Onvif对接Rtsp实时媒体流(基于live555)

Onvif对接Rtsp实时媒体流(基于live555)

2016-12-14

空空如也

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

TA关注的人

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