开源项目
梦想飞扬
当你的才华还撑不起你的野心的时候,你就应该静下心来学习;当你的能力还驾驭不了你的目标时,就应该沉下心来,历练;梦想,不是浮躁,而是沉淀和积累,只有拼出来的美丽,没有等出来的辉煌,机会永远是留给最渴望的那个人,学会与内心深处的你对话,问问自己,想要怎样的人生,静心学习,耐心沉淀,送给自己,共勉。
展开
-
vc2008构建和使用libcurl静态库
1>下载CURL源代码curl-7.26.0.zip 2>用VC2008/2005打开工程curl-7.26.0\lib\libcurl.vcproj,转换下工程并构建,可以直接编译成功!3>新建个控制台工程测试下刚才编译的静态库libcurl.lib,可以在libcurl\curl-7.26.0\docs\examples目录找个简单的使用curl的例子,在这个工程选项Confi转载 2013-05-29 21:42:47 · 752 阅读 · 0 评论 -
windows下使用MinGW+msys编译ffmpeg
本文参考了网络上的不少文章,但由于版本环境的问题参考文章并不能直接指导编译,本文吸收多方经验,并在自己多次编译实验的基础上写成,欢迎转载,请注名出处。 FFmpeg是在Linux平台下开发的,但它同样可以在其它操作系统环境中编译运行,本文介绍的就是在windows下编译FFmpeg。一 编译准备 您最好新建一个目录专门用来保存以下下载的文件。1 下载 MinGW 和 M转载 2014-04-01 16:23:23 · 492 阅读 · 0 评论 -
ffmpeg开发指南
FFmpeg是一个集录制、转换、音/视频编码解码功能为一体的完整的开源解决方案。FFmpeg的开发是基于Linux操作系统,但是可以在大多数操作系统中编译和使用。FFmpeg支持MPEG、DivX、MPEG4、AC3、DV、FLV等40多种编码,AVI、MPEG、OGG、Matroska、ASF等90多种解码.TCPMP, VLC, MPlayer等开源播放器都用到了FFmpeg。 一、转载 2014-04-01 16:22:16 · 543 阅读 · 0 评论 -
Boost库中对this指针的包装
使用enable_shared_from_this解决this指针引用问题说明The header defines the class template enable_shared_from_this. It is used as a base class that allows a shared_ptr to the current object to be obtained from转载 2014-03-03 14:35:26 · 827 阅读 · 0 评论 -
iTALC 网络教室平台 编译及使用简介
今天试着基于 iThinkX 平台编译了一份 iTALC 网络教室平台,大概过程如下:准备工作,解决依赖:我 先下了一份git 版的,用的是 cmake 来编译的,结果,发现,这个软件声称需要 Linux-PAM 的支持,但是在官方说明文档中并没提到这个支持,于是,我就试着下了一份 Linux-PAM ,经过几次编译调试,最终用的以下配置命令通过 Linux-PAM转载 2014-02-18 15:19:44 · 4076 阅读 · 0 评论 -
WINVNC源码阅读(七)
VNC协议分析 简介 VNC(Virtual Network Computing)是基于RFB(Remote Frame Buffer)协议进行通信的,是一个基于平台无关的简单显示协议的超级瘦客户系统,由Cambridge的AT&T实验室设计开发的。vnc的缺省端口是main:5900(C/S)和http:5800(B/S)端口。RFB (远程帧缓存) 是一个远程图形用户的转载 2014-02-17 17:20:51 · 1566 阅读 · 0 评论 -
WINVNC源码阅读(三)
rdr是winvnc用来io操作的一个库工程。IO操作无非两种,写入和读取数据,所以这里每个类都相应地分成了IN和OUT两种操作,先分析IN。 view plainclass InStream { public: virtual ~InStream() {} // check() ensures there is buffer data for at least转载 2014-02-17 17:16:05 · 1099 阅读 · 0 评论 -
WINVNC源码阅读(一)
WINVNC是用bitmap格式保存桌面图像的,所以先补充下相关知识。 图像“像素”(Pixel):把影像放大数倍,会发现这些连续色调其实是由许多色彩相近的小方点所组成,这些小方点就是构成影像的最小单位“像素”(Pixel)。图像分辨率:表示每一个方向上的像素数量,比如640X480,表示由640X480个像素组成。DPI(Dot Per Inch):表示每英寸显示的像素数。图像显转载 2014-02-17 17:14:21 · 1557 阅读 · 0 评论 -
Boost智能指针
智能指针能够使C++的开发简单化,主要是它能够像其它限制性语言(如C#、VB)自动管理内存的释放,而且能够做更多的事情。1、 什么是智能指针智能指针是一种像指针的C++对象,但它能够在对象不使用的时候自己销毁掉。我们知道在C++中的对象不再使用是很难定义的,因此C++中的资源管理是很复杂的。各种智能指针能够操作不同的情况。当然,智能指针能够在任务结束的时候删除对象,除了转载 2014-02-28 14:31:41 · 599 阅读 · 0 评论 -
WINVNC源码阅读(五)
VNC图像更新机制VNC的图像更新机制核心为,桌面区域更新记录策略和更新区域通知策略。桌面更新区域记录主要是通过hooks记录桌面上变化的矩形区域,只记录更新的矩形区不记录具体更新的数据。更新区域记录步骤大致如下:1.wm_hooks截获桌面变化的相关消息,并转化为自定义的消息发送给WMHooksThread线程处理。 2. WMHooksThread 中用SimpleUpdateTrac转载 2014-02-17 17:17:52 · 936 阅读 · 0 评论 -
WINVNC源码阅读(二)
omni_thread是一个C++的跨平台的线程包装库。接口文件omnithread.h可以看出一般的跨平台编码的方式:首先通过宏来判断目前所在的操作系统平台(如果你编译的时候出现了“No implementation header file”的提示,请在此文件查找对应的宏,我用的是WIN32系统,所以预定义了__WIN32__),然后包含不同的头文件(WIN32是nt.h头文件),在转载 2014-02-17 17:15:25 · 839 阅读 · 0 评论 -
WINVNC源码阅读(六)
VNC客户端源码Windows版本的VNC客户端源码阅读笔记。while (!hosts.empty()) {char* hostinfo = hosts.front();Thread* connThread = new CConnThread(hostinfo);//创建一个连接线程strFree(hostinfo);hosts.pop_front();}跟进去C转载 2014-02-17 17:19:47 · 1240 阅读 · 0 评论 -
WINVNC源码阅读(四)
VNCHOOKS是一个设置全局钩子的动态链接库。先看入口函数view plainBOOL WINAPI DllMain (HANDLE hInst, ULONG ul_reason_for_call, LPVOID lpReserved) { // Find out why we're being called switch (ul_reason_fo转载 2014-02-17 17:17:02 · 1109 阅读 · 0 评论 -
FFMPEG WINDOWS平台编译
FFmpeg是在Linux平台下开发的,但它同样也可以在其它操作系统环境中编译运行,本文介绍的就是在windowsXP下编译FFmpeg。一 准备环境:1 下载 mingw 和 MSYS去 http://sourceforge.net/projects/mingw/ 下载A 点击“DownLoad mingw-get-inst-...exe”;B 切换到页面:转载 2014-04-01 16:24:02 · 703 阅读 · 0 评论