自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

danelumax2的专栏

多写博客,将自己的经验,与大家分享

  • 博客(35)
  • 资源 (2)
  • 收藏
  • 关注

转载 OSPF 路由 cost介绍

在OSPF协议中,去往一个目的地,途径的每一条链路的Cost计算是在发送时加上该端口Cost,接收时不加。比如要对R1去往12.1.1.2的路由的Metric(度量)进行修改,那么一个可行的方法就是修改R1本地出口的带宽值,修改对端接口不会使Cost值变化。修改的命令为(config-if)# bandwith 1000(kbit)OSPF中的度量值Cost = 100Mb / Ban

2013-03-28 10:24:48 6900

转载 setsockopt 设置socket

1.closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:BOOL bReuseaddr=TRUE;setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const char*)&bReuseaddr,sizeof(BOOL));2. 如果要已经处于连接状态的soket在调用closesocket后强制关闭,

2013-03-25 20:50:51 683

转载 ICMP报文校验和的计算及各种网络报文结构

发送ICMP报文时,必须由程序自己计算校验和,将它填入ICMP头部对应的域中。校验和的计算方法是:将数据以字(16位)为单位累加到一个双字中,如果数据长度为奇数,最后一个字节将被扩展到字,累加的结果是一个双字,最后将这个双字的高16位和低16位相加后取反,便得到了校验和!下面是程序实现源代码:USHORT checksum(USHORT *buffer,int si

2013-03-25 20:31:53 839

原创 socket中常用的结构体

hostent的定义如下:     该结构记录主机的信息struct hostent {char *h_name;   // 地址的正式名称char **h_aliases;  //空字节-地址的预备名称的指针。int h_addrtype;   //地址类型; 通常是AF_INET。  int h_length;    //地址的比特长度。ch

2013-03-25 19:32:28 576

原创 函数指针的声明方法

函数类型 (标志符 指针变量名) (形参列表);int func(int x); /* 声明一个函数 */int (*f) (int x); /* 声明一个函数指针 */f=func; /* 将func函数的首地址赋给指针f */赋值时函数func不带括号,也不带参数,由于func代表函数的首地址,因此经过赋值以后,指针f就指向函数func(x)的代码的首地址。

2013-03-25 16:39:35 676

原创 错误:stack around the variable “XX” was corrupted

错误:stack around the variable “XX” was corrupted把“project->配置属性->c/c++->代码生成->基本运行时检查 设置为默认值,就没有这样的错误了。

2013-03-25 16:36:23 579

原创 单播,多播,广播解释

一、单播:主机之间“一对一”的通讯模式,网络中的交换机和路由器对数据只进行转发不进行复制。如果10个客户机需要相同的数据,则服务器需要逐一传送,重复10次 相同的工作。但由于其能够针对每个客户的及时响应,所以现在的网页浏览全部都是采用IP单播协议。网络中的路由器和交换机根据其目标地址选择传输路径,将 IP单播数据传送到其指定的目的地。单播的优点:1. 服务器及时响应客户机的请求

2013-03-23 15:35:30 953

原创 一些网络术语缩写

URL:统一资源定位符(URL,英语UniformResourceLocator的缩写)也被称为网页地址,是因特网上标准的资源的地址。RTSP:(Real Time Streaming Protocol),实时流传输协议,是TCP/IP协议体系中的一个应用层协议。该协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据。RTSP在体系结构上位于RTP和RTCP之上,它使用TCP或

2013-03-23 12:46:45 820

转载 学习rtsp的一些心得

今天仔细的研究了rtsp,大有所获,现在总结下这方面的知识:rtsp初步来说分为两阶段:第一阶段:客户端和rtsp服务器端进行交互,也就是术语中所说的会话阶段第二阶段:流媒体数据交互阶段,将数据按照rtp+rfc3984拆包由流媒体服务器发送到播放器客户端,然后客户端这边重新组包上面的理解的比较的肤浅,我本人是用VLC和自己写的程序在自己的电脑上做的测试。

2013-03-23 12:22:11 787

转载 live555学习笔记2-基础类

二 基础类讲几个重要的基础类:BasicUsageEnvironment和UsageEnvironment中的类都是用于整个系统的基础功能类.比如UsageEnvironment代表了整个系统运行的环境,它提供了错误记录和错误报告的功能,无论哪一个类要输出错误,就需要保存UsageEnvironment的指针.而TaskScheduler则提供了任务调度功能.整个程序的运行发动机就

2013-03-22 16:42:07 536

原创 live555学习笔记1:在vs2005下调试live555,成功!

1.首先live555的源码兼容性已经很强了,基本上大家不需要改动什么代码,直接的自己新建一个项目让,然后倒入所有的文件夹和里面的文件就行了。  具体操作:  项目-添加-新建筛选项,通过这样的操作就可以在自己的项目添加BaseUsageEnvironment,groupsock等文件夹了然后执行添加-现有项,将live555源码中的hh,cpp文件分别添加到项目中,这样基本完成如

2013-03-22 15:40:22 583

转载 FreeType基本应用(转)

1, 编译FreeType解压后进入.\include\freetype,复制config到当前文件夹,随便去个什么名,这里我用custom_config然后进入 .\builds\win32\visualc这里是vs工程,因为FreeType的支持相当广泛,有很多我们不需要东西,因此需要重新编译FreeType。而刚才我们复制的文件夹中,就是FreeType的可定制文件

2013-03-21 11:39:20 794

原创 支持任何大小freetype2显示(VC版)

#ifndef __FREETYPE2_H#define __FREETYPE2_H#include #include #include #include #include #include #include #include FT_FREETYPE_H#include FT_GLYPH_H#define FT_FLOOR(X) ((X

2013-03-21 11:01:50 1011

原创 Freetype 学习笔记

Freetype 学习笔记 GTK+( 基于 DirectFB) 的字体绘制是通过 pango+freetype+fontconfig 三者协作来完成的,其中, fontconfig 负责字体的管理和配置, freetype 负责单个字符的绘制, pango 则完成对文字的排版布局。而我对这一部分的了解,基本上是空白的。这两天为了解决一个关于字体的 BUG ,花了一些时间阅读相关资料,这里

2013-03-21 10:01:40 703

原创 使用freetype2从ttf字库中提取任意大点阵字体

#include ft2build.h>#include FT_FREETYPE_Hint main(int argc, char **argv){    FT_Library library;    FT_Face face;    int error;    int i, j, k, counter;    unsigned char temp;

2013-03-19 10:17:13 4662 1

转载 freetype 使用小结

FreeType是一个完全开源的、可扩展、可定制且可移植的字体引擎,它提供TrueType字体驱动的实现统一的接口来访问多种字体格式文件,包括点阵字、TrueType、OpenType、Type1、CID、CFF、Windows FON/FNT、X11 PCF等。FreeType函数库具有以下特点:(1)它使得客户应用程序可以方便地访问字体文件,无论字体文件存储在哪里,并且

2013-03-18 14:39:26 951

原创 char路径连接

固定路径+变量,再组成新的char类型路径const char *fileName="BMP\\";char* name=new char[20];sprintf(name,"%s%d",fileName,ix);

2013-03-18 10:10:18 1131

原创 MultiByteToWideChar和WideCharToMultiByte用法详解

1.使用方法详解  在本文开始之处,先简要地说一下何为短字符和宽字符.  所谓的短字符,就是用8bit来表示的字符,典型的应用是ASCII码.而宽字符,顾名思义,就是用16bit表示的字符,典型的有UNICODE.关于windows下的ASCII和UNICODE的更多信息,可以参考这两本经典著作:《windows 程序设计》,《windows 核心编程》.这两本书关于这两种字符都有比较

2013-03-18 09:09:41 481

原创 无法从“const char [27]”转换为“wchar_t *”

用宏_T("xxx"),或者TEXT("xxx")将字符串给包起来

2013-03-18 09:08:26 1735

原创 string 转const char *方法

很多函数都涉及到文件路径,但是他们需要const char *类型,下面总结了两个方法,很给力哦!方法一用string.c_str()是将string类型的转换为const char *类型方法二const_cast1. string转const char*   string s = "abc";   const char* c_s = s.c_str();2. const c

2013-03-18 08:22:11 6040

原创 基于FreeType2实现跨平台的字幕叠加的类

这个类实现了把一个字符串转成RGB点阵,RGB转YUV,和把RGB点阵保存成BMP文件。点阵数据可以直接往其他背景上叠加。TextToImageFT::TextToImageFT(void){ m_rgb24Buff = NULL; m_yuvBuff = NULL; expanded_data = NULL; }TextToImageFT::~TextToIm

2013-03-16 22:02:53 1476 1

原创 FreeType2

介绍 这是“FreeType2 教程”的第一部分。它将教会你如何: * 初始化库 * 通过创建一个新的 face 对象来打开一个字体文件 * 以点或者象素的形式选择一个字符大小 * 装载一个字形(glyph)图像,并把它转换为位图 * 渲染一个简单的字符串 * 容易地渲染一个旋转的字符串 1.头文件 下面的内容是编译一个使用了FreeType2库

2013-03-15 16:23:42 987

原创 缺少“;”(在“类型”的前面)的解决方案

C语言编程中在for(int i=0;iC语言的标准规定标量要在函数开始的时候定义或者声明。在C语言里,最好把所有的变量声明放到计算之前,先声明再使用,这样就不会有这类错误了改为:int i;for(i=0;i

2013-03-15 11:46:05 1945

原创 两张YUV数据如何叠加

YUV数据怎么叠加------解决方案--------------------------------------------------------平面格式对Y,U,V分别叠加,打包格式直接叠加。 ------解决方案--------------------------------------------------------直接copy就行 ------解决方案-

2013-03-14 13:57:34 4492

原创 重定义;不同的基类型

假如在.h中已经定义了结构体a然后还include了同样定义结构体a的头文件,那么就会出现这个问题只要删除include就可以了

2013-03-13 15:14:50 5754

原创 使用WM_COPYDATA消息进程间通信

进程之间通讯的几种方法:在Windows程序中,各个进程之间常常需要交换数据,进行数据通讯。常用的方法有:  使用内存映射文件   通过共享内存DLL共享内存   使用SendMessage向另一进程发送WM_COPYDATA消息比起前两种的复杂实现来,WM_COPYDATA消息无疑是一种经济实惠的一中方法.WM_COPYDATA消息的主要目的是允许在进程间

2013-03-13 11:22:20 647

原创 HWND与HDC区别

hWnd就是指向窗口的句柄。hdc(Device Content)就是指向MFC图形设备接口的句柄 。hWnd是窗体句柄hDC是设备场景句柄hWnd与窗口管理有关hDC与绘图API(GDI函数)有关hWnd是windows给窗口发送消息(事件)用的hDC是把窗口绘制在屏幕上用的。假如要在窗口上绘制图形: 有了hWnd,可以使用API的GetDC()函数得到与其

2013-03-13 10:38:44 1483

原创 int数字与string数字的相互转换

int转stringint i=2;CString a;a.Format(_T("%d"), i);string转intCString xueya;xueya=“2”;int b = atoi(xueya);

2013-03-11 20:33:46 570

原创 MFC界面刷新方法总结

UpdateData(FALSE);用于主线程UpdateData(TRUE);InvalidateRect(NULL,FALSE);InvalidateRect(NULL,TRUE);PostMessage(WM_PAINT);SendMessage(WM_PAINT,0,0);//这个很给力!UpdateWindow();//这个也很给力

2013-03-11 18:15:01 8785

原创 Mutex

Mutex 作为系统核心对象是可以跨进程的(临界区就不行), 我们可以利用互斥对象禁止程序重复启动.工作思路:先用 OpenMutex 尝试打开一个自定义名称的 Mutex 对象, 如果打开失败说明之前没有这个对象存在;如果之前没有这个对象, 马上用 CreateMutex 建立一个, 此时的程序应该是第一次启动;再重复启动时, 那个 OpenMutex 就有结果了, 然后强制

2013-03-11 15:52:20 516

原创 VC中CDC与HDC的区别以及二者之间的转换

CDC是MFC的DC的一个类 HDC是DC的句柄,API中的一个类似指针的数据类型. MFC类的前缀都是C开头的 H开头的大多数是句柄 这是为了助记,是编程读\写代码的好的习惯. CDC中所有MFC的DC的基类.常用的CClientDC dc(this);就是CDC的子类(或称派生类). CDC等设备上下分类,都含有一个类的成员变量:m_nHdc;即

2013-03-09 10:52:26 773

原创 MFC获得文件大小

方法一m_filesize = yuvfile_in.GetLength();方法二long nFileSize=GetFileSize(hFile,NULL);//GetFileSize获得文件大小。方法三ULONGLONG GetFileSize(LPCTSTR szFileName)   {       CFileFind

2013-03-08 08:57:16 1307

原创 InvalidateRect

在OnPaint中,系统响应WM_PAINT消息,OnPaint将调用CPaintDC dc(this)以得到绘图设备上下文,CPaintDC::CPaintDC(CWnd* pWnd)是CPaint的构造函数,从其中可以看到系统将调用CDC* ::BeginPaint(m_hWnd = pWnd->m_hWnd, &m_ps),其中m_ps是一个LPPAINTSTRUCT结构,它包含有一个r

2013-03-07 19:11:35 1177

原创 GetWindowRect,GetClientRect的总结

1.获取pWnd在屏幕上的大小和位置,包括边框:CRect rc;pWnd->GetWindowRect(&rc);2.获取pWnd的大小,不包括边框:CRect rc;pWnd->GetClientRect(&rc);3.获取pWnd在父窗体上的大小和位置,包括边框:CRect rc;pWnd->GetWindowRect(&rc);pWnd->Get

2013-03-07 18:25:02 887

原创 BITMAP结构体

BITMAP的定义typedef struct tagBITMAP{LONG bmType; //位图类型,必须为0LONG bmWidth; //位图宽度LONG bmHeight; //位图高度LONG bmWidthBytes; //每一行像素所在的byte数WORD bmPlanes; //颜色平面数WORD bmBitsPixel;

2013-03-05 18:51:15 3081

vc++ wav录音机程序 mfc

mfc wav录音机程序书上的程序,完全可以跑

2012-12-14

tabctrl实例

简单的tabctrl实例,一定能跑,我指分享好东西

2012-12-09

空空如也

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

TA关注的人

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