摘要: I帧、P帧和B帧的特点I帧:帧内编码帧I帧(I frame) 又称为内部画面 (intra picture),I 帧通常是每个 GOP(MPEG 所使用的一种视频压缩技术)的第一个帧,经过适度地压缩,做为随机访问的参考点,可以当成图象。在MPEG编码的过程中,部分视频帧序列压缩成为I帧;部分压缩成P帧;还有部分压缩成B帧。I帧法是帧内压缩法,也称为“关键帧”压缩法。I帧法是基于离散余弦变换DCT(Discrete Cosine Transform)的压缩技术,这种算法与JPEG压缩算法类似。采用I帧压缩可达到1/6的压缩比而无明显的压缩痕迹。I帧特点: 1.它是一个全帧压缩编码帧。它将全帧图像 阅读全文
posted @ 2012-06-10 00:23 azraelly 阅读(8307) 评论(0) 推荐(0) 编辑
摘要: C/C++内存泄漏及检测2011-02-20 17:51 by 吴秦, 5139 visits, 收藏, 编辑“该死系统存在内存泄漏问题”,项目中由于各方面因素,总是有人抱怨存在内存泄漏,系统长时间运行之后,可用内存越来越少,甚至导致了某些服务失败。内存泄漏是最难发现的常见错误之一,因为除非用完内存或调用malloc失败,否则都不会导致任何问题。实际上,使用C/C++这类没有垃圾回收机制的语言时,你很多时间都花在处理如何正确释放内存上。如果程序运行时间足够长,如后台进程运行在服务器上,只要服务器不宕机就一直运行,一个小小的失误也会对程序造成重大的影响,如造成某些关键服务失败。对于内存泄漏,本人 阅读全文
posted @ 2012-06-07 23:21 azraelly 阅读(293) 评论(0) 推荐(0) 编辑
摘要: C\C++的转义字符所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。 转义字符 意义 ASCII码值(十进制) \a 响铃(BEL) 007 \b 退格(BS) 008 \f 换页(FF) 012 \n 换行(LF) 010 \r 回车(CR) 013 \t 水平制表(HT) 009 \v 垂直制表(VT) 011 \\ 反斜杠 092 \? 问号字符 063 \' 单引号字... 阅读全文
posted @ 2012-06-07 23:20 azraelly 阅读(844) 评论(0) 推荐(0) 编辑
摘要: CString,int,string,char*之间的转换《C++标准函数库》中 有三个函数可以将字符串的内容转换为字符数组和C—string 1.data(),返回没有”\0“的字符串数组 2,c_str(),返回有”\0“的字符串数组 3,copy() ................................................................. int 转 CString: CString.Format("%d",int); ............................... string 转 CString CStri 阅读全文
posted @ 2012-06-07 23:18 azraelly 阅读(1269) 评论(0) 推荐(0) 编辑
摘要: c++ 使用socket实现C/S端文件的下载传输首先是服务器端,大致说下流程:服务器创建线程去处理应答accept(),当接受到客户端连接请求时,首先获取要发送的指定的文件数据总大小给客户端,接着就是循环读取要发送的文件数据流向客户端发送文件数据,每次都判断循环读取到的数据实际大小,当实际读取到的数据总大小为0时,表示文件发送结束。下面是服务器server端实现:声明部分:public: afx_msg void OnBnClickedButton1();public: BOOL InitSocket(); //初始化并创建套接字 static DWORD WINAP... 阅读全文
posted @ 2012-06-07 23:17 azraelly 阅读(539) 评论(0) 推荐(0) 编辑
摘要: CreateFile函数详解CreateFileThe CreateFile function creates or opens the following objects and returns a handle that can be used to access the object: files pipes mailslots communications resources disk devices(Windows NT only) consoles directories(open only)CreateFile 函数创建或打开下列对象,并返回一个可以用来访问这些对象的句柄。 文件 阅读全文
posted @ 2012-05-23 13:08 azraelly 阅读(1210) 评论(0) 推荐(0) 编辑
摘要: 用C++和Windows的互斥对象(Mutex)来实现线程同步锁。 准备知识:1,内核对象互斥体(Mutex)的工作机理,WaitForSingleObject函数的用法,这些可以从MSDN获取详情;2,当两个或更多线程需要同时访问一个共享资源时,系统需要使用同步机制来确保一次只有一个线程使用该资源。Mutex 是同步基元,它只向一个线程授予对共享资源的独占访问权。如果一个线程获取了互斥体,则要获取该互斥体的第二个线程将被挂起,直到第一个线程释放该互斥体。 下边是我参考开源项目C++ Sockets的代码,写的线程锁类Lock.h#ifndef _Lock_H#define _Lock_H#i 阅读全文
posted @ 2012-05-14 14:25 azraelly 阅读(10717) 评论(0) 推荐(1) 编辑
摘要: 与socket有关的一些函数介绍1、读取当前错误值:每次发生错误时,如果要对具体问题进行处理,那么就应该调用这个函数取得错误代码。int WSAGetLastError(void ); #define h_errno WSAGetLastError()错误值请自己阅读Winsock2.h。2、将主机的unsigned long值转换为网络字节顺序(32位):为什么要这样做呢?因为不同的计算机使用不同的字节顺序存储数据。因此任何从Winsock函数对IP地址和端口号的引用和传给Winsock函数的IP地址和端口号均时按照网络顺序组织的。u_long htonl(u_long ... 阅读全文
posted @ 2012-05-14 10:03 azraelly 阅读(964) 评论(0) 推荐(0) 编辑
摘要: C++文件操作详解(ifstream、ofstream、fstream)C++ 通过以下几个类支持文件的输入输出:ofstream: 写操作(输出)的文件类 (由ostream引申而来)ifstream: 读操作(输入)的文件类(由istream引申而来)fstream: 可同时读写操作的文件类 (由iostream引申而来)打开文件(Open a file)对这些类的一个对象所做的第一个操作通常就是将它和一个真正的文件联系起来,也就是说打开一个文件。被打开的文件在程序中由一个流对象(stream object)来表示 (这些类的一个实例) ,而对这个流对象所做的任何输入输出操作实际就是对该文 阅读全文
posted @ 2012-04-14 11:31 azraelly 阅读(95062) 评论(0) 推荐(8) 编辑