4 yuanchunsi

尚未进行身份认证

暂无相关简介

等级
TA的排名 1w+

城市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

链表基础

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

2018-04-15 14:22:16

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

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

2018-04-07 19:33:54

IO多路复用 IO异步

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

2018-03-30 15:05:07

RTMP、RTSP、HTTP视频协议详解(附:直播流地址、播放软件)

一、RTMP、RTSP、HTTP协议这三个协议都属于互联网 TCP/IP 五层体系结构中应用层的协议。理论上这三种都可以用来做视频直播或点播。但通常来说,直播一般用 RTMP、RTSP。而点播用 HTTP。下面分别介绍下三者的特点。1,RTMP协议(1)是流媒体协议。(2)RTMP协议是 Adobe 的私有协议,未完全公开。(3)RTMP协议一般传输的是 flv,f4v 格式流。(4)RTMP一般...

2018-03-29 19:08:39

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

linux中send函数MSG_NOSIGNAL

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

2018-03-29 17:07:33

播放器二(FFMPEG+SDL+AUDIO)

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

2018-03-15 16:57:39

播放器一(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

Linux下查看CPU、内存占用率

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

2018-02-09 10:18:39

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

虚拟机磁盘清理

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

2018-02-09 10:07:20

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

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

2018-02-08 11:05:26

C++系列(友元)

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

2018-02-08 11:00:29

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

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

2018-01-06 16:47:04

RTTI & dynamic_cast

C++ 学习

2017-12-30 16:46:13

对象数组

C++白话系列 对象数组

2017-12-24 11:27:05

RTCP/RTP (动态码流)

RTCP/RTP & Webrtc 动态码流

2017-12-20 10:14:56

C++模板函数 & 模板类

C++ 模板函数 & 模板类

2017-12-18 16:36:32

C++系列(关键字static)

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

2017-12-18 15:57:26

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!