自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 资源 (17)
  • 收藏
  • 关注

原创 CMakeLists 的使用,大型工程使用cmake 的构件过程

CMake是一个跨平台的程序构建工具,比如起自己编写Makefile方便很多。简单介绍一下CMKALIST 的简单实用第一:首先构建比较简单的工程1.构建一个工程的时候,需要做的几件事情(如果下面几件事你知道怎么做了,多大的工程就都不是问题了):A.源代码在哪里?B.头文件在哪里?C.怎么生成静态或者动态库?D.程序链接的静态库在哪里?

2016-07-21 11:19:59 6767

原创 原子操作为啥比较快

多线程同步锁,原子锁为啥比较快首先,说一下原子指令:指令效果描述leal S,DD = &Smovl地版,S地址入D,D仅能是寄存器incl DD++加1decl DD--减1negl D

2016-03-31 17:37:29 1146

原创 threadpool -- 线程池

threadpool由于自己项目需要,就设计了一个线程池,可以在windows、linux、ios上跑,亲测有效哦。next - express process **Process<T> m_Process;** //定义一个处理器 **void Init(int nTask,int nThread);** //init:初始化任务和线程,以及准备一些变

2016-03-22 17:50:47 441

原创 Git的入门教程<四>

Git 的入门教程4> git远程仓库的使用

2015-02-03 18:50:29 655

原创 Git的入门教程<三>

Git 的入门教程4> git远程仓库的使用(续>      4.2 git远程服务器的搭建      我用的服务器系统是Red Hat Enterprise Linux Sever release 5, 32位的。

2015-01-30 17:11:59 829

原创 Git的入门教程<二>

Git 的入门教程4> git远程仓库的使用        我们在使用git进行代码管理的时候,协同办公,需要一个24小时不间断的隐形同事,此时,如果在局域网内,则直接开一台局域网内的24小时开机运行的机器就可以,但是如果在homework的时候就需要这个24小时运行的机器拥有独立的外网IP,这样消耗就比较大,幸好,网上有一个github,提供给我们一个免费的仓库,让我们可以在

2015-01-28 17:07:37 774

原创 Git的入门教程<一>

Git 的入门教程1> 为什么要用git            git采用分布式框架,没有中央服务器,每人电脑上都一份单独的代码,单独的仓库,不需要联网,只是在有改动的时候,向对方进行推送一下,这样双方都能看到各自修改的代码了。        并且git相比于svn来说,比较安全,假如你的电脑硬盘坏掉了,此时在另一台电脑上只需从同事那里git pull 一下,就能拿到最新的代码。

2015-01-28 14:00:07 799 1

原创 RC4 加解密

自己从网上看了好多关于RC4加解密的,关键地方

2014-08-04 14:17:42 1180

原创 深入的谈一谈,字符集的编码方式。

由于接触到的编码方式比较多,比较杂,比较容易搞混,而且经常性

2014-08-04 13:52:37 881

原创 log4cpp 相关的问题

首先说编译:     一般如果用vs2005 vs2008 的人,就别用log4cpp1.0.x 的版本吧,vs2010的建议用最新的版本。先说vs2008的编译问题:   这里网上很多的办法,都是一样的: 在 log4cpp-1.0/msvc6/  下面  ,打开 msvc6.dsw 文件  右键工程属性,选择 Custom Build Step ,选择 Comman

2013-12-03 14:37:36 1317

原创 CDateTimeCtrl 重载中的注意事项,以及边框的修改。

由于关于 CDateTimeCtrl 的用法,在MSDN 和百度、谷歌上已经很多很多,这里就不在啰嗦 。    因为CDateTimeCtrl本身没有border 属性,所以不能像 其他 控件那样直接,勾选掉,就能去掉边框。    而且重载的时候问题多多。 1. 如果想要改变 CDateTimeCtrl 的边框                 介绍一个函数,virtua

2013-11-21 11:28:50 2284 2

转载 安全使用libcurl的正确姿势

安全使用libcurl的正确姿势在我们的项目中,数次遇到 libcurl 导致的应用程序崩溃问题,这里总结了一下使用 libcurl 的正确姿势。 1: #include 2: #include 3: #include 4: 5: 6: #define RESPONSE_BODY_SIZE 128 7: 8: static size_t write

2016-09-28 12:07:22 3834 1

转载 流媒体服务器原理和架构解析

多媒体数据文件一个完整的多媒体文件是由音频和视频两部分组成的,H264、Xvid等就是视频编码格式,MP3、AAC等就是音频编码格式,字幕文件只是附加文件。目前大部分的播放器产品对于H.264 + AAC的MP4编码格式支持最好,但是MP4也有很多的缺点,比如视频header很大,影响在线视频网站的初次加载时间。为了降低头部体积,需要进行视频本身的物理分段等等。对MPEG2-T

2016-07-25 09:54:09 38016 7

转载 ffmpeg 工具 参数详细解析

1、将文件当做直播送至live[plain] view plain copyffmpeg -re -i localFile.mp4 -c copy -f flv rtmp://server/live/streamName  2、将直播媒体保存至本地文件[plain] view plain copy

2016-07-20 16:17:25 7913

原创 全局区 代码区 堆区 栈区

int add(int a,int b){ return a+b;}//全局区int a1 = 1; //全局变量static int a2=2;//全局静态变量const int a3=3; //全局常量main(){ int b1=4; static b2=5; const b3 =6; int *p1=malloc(40);

2016-07-11 17:58:14 657

转载 c++ 全局变量、局部变量、静态全局变量、静态局部变量的区别

1.C++变量根据定义的位置的不同的生命周期,具有不同的作用域,作用域可分为6种:全局作用域,局部作用域,语句作用域,类作用域,命名空间作用域和文件作用域。从作用域看:1>全局变量具有全局作用域。全局变量只需在一个源文件中定义,就可以作用于所有的源文件。当然,其他不包含全局变量定义的源文件需要用extern 关键字再次声明这个全局变量。2>静

2016-07-11 17:53:51 426

原创 HLS

HLS : http live streaming主要关注点:1: 把音视频的package 封装成TS流文件 2: m3u8 索引文件和分段策略m3u8 格式详解:注意看切片索引文件:#EXTM3U m3u文件头,必须放在第一行#EXT-X-MEDIA-SEQUENCE 第一个TS分片的

2016-06-13 11:49:19 1474

原创 TCP连接过程详解

tcp状态:LISTEN:侦听来自远方的TCP端口的连接请求SYN-SENT:再发送连接请求后等待匹配的连接请求SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认ESTABLISHED:代表一个打开的连接FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认FIN-WAIT-2:从远程TCP等待连接

2016-06-13 09:46:33 598

转载 几种常见 容器 比较和分析 hashmap, map, vector, list ...hash table

list支持快速的插入和删除,但是查找费时;vector支持快速的查找,但是插入费时。map查找的时间复杂度是对数的,这几乎是最快的,hash也是对数的。 如果我自己写,我也会用二叉检索树,它在大部分情况下可以保证对数复杂度,最坏情况是常数复杂度,而std::map在任何情况下都可以保证对数复杂度,原因是它保证存诸结构是完全二叉检索树,但这会在存诸上牺牲一些时间。STL

2016-03-31 17:00:06 464

原创 base 64 编解码

base 64 编解码1. base64的编码都是按字符串长度,以每3个8bit的字符为一组,2. 然后针对每组,首先获取每个字符的ASCII编码,3. 然后将ASCII编码转换成8bit的二进制,得到一组3*8=24bit的字节4. 然后再将这24bit划分为4个6bit的字节,并在每个6bit的字节前面都填两个高位0,得到4个8bit的字

2015-06-04 17:52:31 826

转载 MFC中CString.Format的详细用法

MFC中CString.Format的详细用法在MFC程序中,使用CString来处理字符串是一个很不错的选择。CString既可以处理Unicode标准的字符串,也可以处理ANSI标准的字符串。CString的Format方法给我们进行字符串的转换带来了很大的方便,比如常见的int、float和double这些数字类型转换为CString字符串只需一行代码就可以实现。  先看看For

2015-05-22 15:48:05 376

转载 GDI+ 双缓冲 的起因以及解决办法

重绘导致原因:UpdateData、Invalidate、InvalidateRect和UpdateWindow函数。1. UpdateData重绘控件函数 UpdateData(TRUE)——刷新控件的值到对应的变量。(外部输入值交给内部变量) 即:控件的值—>变量。 UpdateData(FALSE) —— 拷贝变量值到控件显示。(变量的最终运算结果值交给外部输出显示)

2015-04-01 11:16:36 1267

转载 com原理

一、COM编程思想--面向组件编程思想(COP)  众所周知,由C到C++,实现了由面向过程编程到面向对象编程的过渡。而COM的出现,又引出了面向组件的思想。其实,面向组件思想是面向对象思想的一种延伸和扩展。因此,就让我们先来回忆一下面向对象的思想吧。  面向对象思想是将所有的操作以及所操作的对象都进行归类(由class实现),而它的目标是要尽量提高代码的可重用性(这也是面向对象相

2015-03-27 16:13:25 557

转载 补码的原理

补码原理(二进制正负数加减法基础)     序言:在计算机里,为了区别正负数,采用第一位表示符号(正或负),这样一来,在计算机的二进制里做加法没问题,但既有加法又有减法时问题就来了:如做1 - 1 =0 时(0 001)原 + (1 001)原 = (1 010)原 = ( -2 ) 显然不正确(原因是第一位是用来表示正或负号)。为了解决这个问题,人们想出了补码的概念,亦即补码

2015-03-26 11:03:07 3013 2

原创 c++ 调用com的方式

一、在需要的文件中引入com对应的dll文件       #import "../bin/FirstCOM.dll" no_namespace       在调用的地方       CoInitialize(NULL);                                                    IFirstClassPtr m_FirstClass;

2015-03-25 18:37:27 876

原创 记录一下VIM/VI 中一些经常忘记的命令

///-------------->光标的位置移动i ---------> 在当前位置进行插入,光标移动在当前位置I ---------> 在当前行的行首插入,光标移动在当前行首o ---------> 在当前行的下面插入,光标移动到当前行的下一行O ---------> 在当前行的上面插入,光标移动到当前行的上一行a ---------> 在当前位置后插入,光标移动在当前位置

2015-03-05 15:42:06 538

原创 opensip1.11.3 + centos 6.6 安装教程

opensip1.11.3 + centos 6.6 安装教程1. 安装需要的模块:[root@EA-SERVER ~]# yum -y install wget gcc bison flex zlib-devel openssl-develyum install flex bison ncurses libncurses-dev ncurses-develyum inst

2015-02-06 15:32:51 694

原创 Go channel

// xuhh_go_channelproject main.go/*    channel    1. channel 在读取数据的时候,如果此时通道内没有数据,则会阻塞。             在取数据的时候,如果此时通道内没有数据,则也会阻塞。    2. channel 在创建的时候会存在一个数据缓冲,如果通道内存入的数据超过缓冲,则就会崩溃。ra

2014-12-02 14:26:55 1849

原创 Go 接口

// xuhh_go_interfaceproject main.go/*interface : 是一系列(一个或者多个)方法的合集,任何类型的方法合集(拥有相同函数名称、参数列表(不含参数名)、返回值)            只要包含与之对应的方法,则它就实现了该接口(意思就是可以进行赋值),无需另外添加声明。    1. 接口只有函数声明,没有函数的实现。接口后面一般已

2014-11-27 10:19:37 671

原创 Go struct

// xuhh_go_structproject main.go/*tips : 具有相同字段序列(字段名,类型,标签,顺序)的匿名struct 属于同一类型struct 值类型。 赋值和传参都会复制全部内容。struct 可以内嵌,但是不能同时内嵌同一类型和其指针类型struct 可以匿名字段,字段包括任何类型。struct 在内嵌多个类型的时候,需要注意如果不

2014-11-25 17:47:36 930

原创 Go 位运算

// xuhh_go_位运算符 project main.go/*    位移操作 : 向左移位     可以看做是 乘以2的几次方    位移操作 >> : 向右移位        可以看做是 除以2的几次方    and操作 & : 都为1 才是1    or 操作 | : 只要有一个是1 那么就是1    取反 ^ :有一个为1 则 就是1 两

2014-11-25 13:23:14 2858

原创 Go内建函数(对于引用类型) new 和 make 的区别

// disgtinguish_new&makeproject main.go/*    引用类型 : slice channel map    new 和 make 创建引用类型的区别    new 会根据类型的大小,分配该大小的零值空间,然后返回该空间首地址.    make 会被编译器翻译成具体的创建函数,由其分配内存和初始化成员变量,返回对象,而非指针

2014-11-25 10:23:01 1693

转载 P2P nat 穿透

以前写的老文章,转过OSC这边来.         最近对p2p(peer to peer)技术十分感兴趣,以前用VB的时候曾尝试过学习穿透NAT方面的知识,很可惜那时候并没有成功(由于我当时的兴趣并不大),现在大学开始教 C++,突然间对p2p技术产生兴趣,这有很多方面的原因        现在基本上很多网络应用的软件都涉及p2p技术(QQ,PPS,对战平台...),p2p技术旨在于摒弃

2014-11-21 10:57:57 788

转载 音频混合的方法

音频混音算法的实现1、线性叠加后求平均优点:不会产生溢出,噪音较小;缺点:衰减过大,影响通话质量;[cpp] view plaincopyshort  remix(short buffer1,short buffer2)  {      int value = buffer1 + buffer2;      return (short)(

2014-09-24 15:31:26 5468

转载 MFC 绘制透明位图的方法

1、GDI    步骤1)创建内存兼容DC        HDC hBitmapDC = CreateCompatibleDC(hDC);        HBITMAP hBitmap = CreateCompatibleBitmap(hDC, rt.Width(), rt.Height());        SelectObject(hBitmapDC,hBitmap);

2014-09-24 15:27:04 2229

原创 Go基础-map

// xuhh_go_map project main.go/*1.map的特点:    a.map是go语言的内置引用类型,所以多个map指向同一个底层的情况下,一个值发生变化,全部发生变化    b.map是无序的,每次迭代的顺序都是不确定的。    c.map只有 len 没有 cap。    d.map不是线程安全的,在多个go-routine中使用的时候,要加锁。

2014-09-18 14:50:21 1892

原创 Go基础 - slice

// xuhh_go_sliceproject main.go/*1.array和slice的区别:    a.array是有长度的,而slice是没有长度的    b.array 是值类型,而slice是引用类型2. slice 的创建方法:    var arr = [...]int{1,2,3,4,5,6}    a. 基于array的创建

2014-09-17 15:25:01 551

转载 C++ 显式转换 。

首先回顾一下C++类型转换:C++类型转换分为:隐式类型转换和显式类型转换第1部分. 隐式类型转换又称为“标准转换”,包括以下几种情况:1) 算术转换(Arithmetic conversion) : 在混合类型的算术表达式中, 最宽的数据类型成为目标转换类型。 int ival = 3;double dval = 3.14159;iva

2014-07-09 16:21:47 566

转载 什么是ORM?为什么要使用ORM?

什么是ORM?为什么要使用ORM?  什么是“持久化”持久(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的数据存储在关系型的数据库中,当然也可以存储在磁盘文件中、XML数据文件中等等。什么是“持久层”持久层(Persistence Layer),即专注于实现数据持久化应用领域的某个特定系统的一个逻

2014-05-29 16:49:31 746

原创 TOOLTIPS 的相关用法

首先 ,如何创建一个tooltips:

2014-04-23 17:13:35 2166

vs2010 番茄破解插件 - 不要资源分

vs2010 番茄破解插件 - 不要资源分 看到网上很多下载都要资源分,但是好多人没有资源分,我就免费提供一下,方面大家使用。

2015-05-04

msysgit_1.9.4.0

Git是一个非常优秀的版本控制系统,如果想在Windows下搭建Git,那msysGit是不二之选!msysGit是专门为Windows开发的Git工具(Git For Windows),msysGit集成了所需要的运行环境和组件,直接安装安装即可使用,官方自带简体中文GUI,菜单也能配置Git。msysGit配合TortoiseGit在Windows中使用Git,是初学者的最好的组合!简单方便,不需要去不断敲打各自命令。

2015-01-22

vs 西红柿插件 + 破解

西红柿插件 ,什么都不说了,都知道干嘛的。 说下 用法, 先进行安装 ,安装之后, 将VA_X 文件夹 下的 动态链接库 拷贝到 安装目录,将 原来的 覆盖掉。

2014-04-28

手机铃声制作软件

原来酷狗集成的一个铃声制作软件,但是很多人不想使用酷狗的情况下,想使用酷狗的手机铃声制作软件,所以就要下载这个东西,我也找了好久。

2014-04-28

ultracompare 中文版 以及 keygen 注册机

UltraCompare是一款文件内容比较工具。著名的ultraedit公司出品的,可进行文本模式,文件夹模式以及二进制模式的比较,并且可以对比较的文件进行合并,同步等操作,支持撤消操作。拥有书签与收藏夹功能,可以设置过滤,是一款比较出色的文件比较程序。你可以用它来比较两个文本文件的不同,也[1]可以比较以二进制的模式比较两个EXE文件的不同,还可以用它来比较两个文件夹及其子文件夹内文件的不同。

2014-04-28

VLD 内存检测工具

内存检测工具,在工程中进行使用,很容易检测到内存泄露的问题,非常好用,强烈推荐

2014-04-10

FTP 协议,客户端和服务器的开发流程,以及错误代码

FTP 协议,客户端和服务器的开发流程,以及错误代码

2012-10-09

OPenCV API函数查询文档

OPenCV中的函数查询,一些API函数查询文档以及OPenCV 的算法介绍、

2012-10-08

在内存中修改一张BMP图片的数据,然后显示出来

做视频播放器的时候,需要在视频帧数据中添加一行文字,2中方法,一种是直接修改bmp数据,一种就是利用内存DC 进行修改bmp 数据,我提供的是第二种

2012-08-10

解决 MFC 的 双击 和 单击 存在的 缺陷

解决 MFC 的 双击 和 单击 的问题,可以在单击 的时候 就单击 ,双击的 时候 就 双击,避免双击的时候 被单击 屏蔽

2012-06-27

ATL , COM 开发技术

一个 关于ATL 的 使用 教程,是 com 入手的 好的 学习 材料

2012-05-29

强大的 按钮控件 类 CButtonST

一个 收藏了 很久的 按钮 类 ,CButtonST ,相信 大家 肯定用过 ,那么 什么也不说了,下载吧 ,呵呵,好东西 值得 收藏

2012-05-29

WTL 开发 教程

WTL , 开发 ,教程 ,,里面 有 WTL 的 详细 教程 和 参考 例子

2012-05-29

boost 开发 大全 ,很全的一本书

boost 里面 全部的 开发 技术,我 保存 了很久的 的 一本 好书,上传 ,共享 一下

2012-05-29

bat 脚本的基本语法和例子

bat 脚本的 基本 语法,和 一些 简单的 应用、。

2012-05-29

用C语言编写的贪吃蛇源程序

一个关于c语言的贪吃蛇小游戏,很简单的 ,

2010-10-20

关于VC++6.0的小游戏

一个小型游戏,可以帮助初学c++的人一些帮助

2010-10-20

空空如也

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

TA关注的人

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