- 博客(12)
- 资源 (6)
- 收藏
- 关注
转载 Boost智能指针
智能指针能够使C++的开发简单化,主要是它能够像其它限制性语言(如C#、VB)自动管理内存的释放,而且能够做更多的事情。1、 什么是智能指针智能指针是一种像指针的C++对象,但它能够在对象不使用的时候自己销毁掉。我们知道在C++中的对象不再使用是很难定义的,因此C++中的资源管理是很复杂的。各种智能指针能够操作不同的情况。当然,智能指针能够在任务结束的时候删除对象,除了
2014-02-28 14:31:41 599
转载 iTALC 网络教室平台 编译及使用简介
今天试着基于 iThinkX 平台编译了一份 iTALC 网络教室平台,大概过程如下:准备工作,解决依赖:我 先下了一份git 版的,用的是 cmake 来编译的,结果,发现,这个软件声称需要 Linux-PAM 的支持,但是在官方说明文档中并没提到这个支持,于是,我就试着下了一份 Linux-PAM ,经过几次编译调试,最终用的以下配置命令通过 Linux-PAM
2014-02-18 15:19:44 4076
转载 sprintf用法详解
printf 可能是许多程序员在开始学习C 语言时接触到的第二个函数(我猜第一个是main),说起来,自然是老朋友了,可是,你对这个老朋友了解多吗?你对它的那个孪生兄弟sprintf 了解多吗?在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望。 由于sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出
2014-02-17 17:21:59 635
转载 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 1564
转载 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
转载 WINVNC源码阅读(五)
VNC图像更新机制VNC的图像更新机制核心为,桌面区域更新记录策略和更新区域通知策略。桌面更新区域记录主要是通过hooks记录桌面上变化的矩形区域,只记录更新的矩形区不记录具体更新的数据。更新区域记录步骤大致如下:1.wm_hooks截获桌面变化的相关消息,并转化为自定义的消息发送给WMHooksThread线程处理。 2. WMHooksThread 中用SimpleUpdateTrac
2014-02-17 17:17:52 936
转载 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
转载 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
转载 WINVNC源码阅读(二)
omni_thread是一个C++的跨平台的线程包装库。接口文件omnithread.h可以看出一般的跨平台编码的方式:首先通过宏来判断目前所在的操作系统平台(如果你编译的时候出现了“No implementation header file”的提示,请在此文件查找对应的宏,我用的是WIN32系统,所以预定义了__WIN32__),然后包含不同的头文件(WIN32是nt.h头文件),在
2014-02-17 17:15:25 839
转载 WINVNC源码阅读(一)
WINVNC是用bitmap格式保存桌面图像的,所以先补充下相关知识。 图像“像素”(Pixel):把影像放大数倍,会发现这些连续色调其实是由许多色彩相近的小方点所组成,这些小方点就是构成影像的最小单位“像素”(Pixel)。图像分辨率:表示每一个方向上的像素数量,比如640X480,表示由640X480个像素组成。DPI(Dot Per Inch):表示每英寸显示的像素数。图像显
2014-02-17 17:14:21 1557
转载 RFB协议
一、简介RFB(远程帧缓冲)是一个用于远程访问图形用户接口的简单协议。由于它工作在帧缓冲层,所以适用于所有的桌面系统和应用,包括X11,Windows和Macintosh等。我们把用户所在的一端(包括显示器、键盘和鼠标)被称为RFB客户端。而帧缓冲发生变化的一端(桌面系统和应用)称为RFB服务器。RFB协议是一个瘦客户协议。协议设计的重点是减小对客户端的要求。这样,客户端可以运行在多种
2014-02-17 17:04:14 4768
转载 使用VARIANT传递数组的方法及步骤
在使用COM/DCOM写组件时经常要传递数组,一般比如SHORT,LONG等指针可以直接传递相应的指针,但是当遇到需要传递BYTE数组就有问题了,COM不支持BYTE类型参数,传递BYTE数组也就无从说起了。经过查找资料发现使用VARIANT变量可以传递任何类型的数组,随将使用VARIANT数组的方法总结一下。其实在VARIANT传递数组的方法非常简单,只要理解SAFEARRAY数组的使用方法即可
2014-02-14 09:49:16 4436
模拟mspaint程序(简单白板)
2016-01-04
Restorator
2012-03-27
Ntfs互换Fat32
2012-03-27
Restorator-v2009
2012-03-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人