Welcome 微信登录

首页 / 软件开发 / C++

局域网聊天软件(winsocket)

局域网聊天软件(winsocket)

局域网聊天软件(winsocket)2015-05-07程序实现功能:局域网聊天软件,启动即可找到在线设备,并能够进行简单的文字聊天。其实下面这个框图已经说明了程序的绝大部分功能原理。核心类的程序框图我觉得,这个程序中使用的最好的技术,应该就是IOCP了。后面我会针对IOCP好好地写一篇博文,这个技术虽然刚学的时候有点乱,但是确实很好用。上面的框图中中间的UDPServer线程等待的事件完成是MainServer线程在Listen函数调用结束后设置的事件。...
VC6绘制3D饼状图

VC6绘制3D饼状图

VC6绘制3D饼状图2010-08-15 vckbase 陈长江工作中需要使用到饼状图,在网上找了半天,也没有找到那种漂亮的3D饼状图 的代码,都是2D的,不喜欢。 无意间,看到有人用.net实现的3D饼状图,得到启 发,干脆自己做一个吧。其实很简单,就是用Pie扇形函数分别画出两个相同的、上下间距的分割圆。 但是,仅仅这样还不够,你看:(图一)图中方框的部分都是需要修正的。原文的作者是如图二这样修正的:(图二)但是,作者也说了,在饼图比较厚或者分割比较多...
实时语音通信的实现

实时语音通信的实现

实时语音通信的实现2010-08-15孔康引言本人虽已学习VC++一年半载,仍觉捉襟见肘,好在有VCKBASE的帮忙,确实学 到了不少东西,www.vckbase.com也成了我每次上民网必到之处(阁下有所不知, 鄙人接受最为严格的管理,上民网是要申请的)。近日在做一个通信 方面的程序 ,实时的语音和视频通信当然是大家所喜欢的。本文将向您展示局域网环境下实 时语音通信的的一个解决方案(视频这一块正在做,估计很快就能出炉),Winxp环 境下测试效果良好,并...
GPGPU OpenCL实现精确字符串查找

GPGPU OpenCL实现精确字符串查找

GPGPU OpenCL实现精确字符串查找2015-05-07字符串查找是信息安全、信息过滤领域的重要操作,尤其是对大文本的实时处理。这篇作为实例,使用GPU OpenCL进行精确模式串查找。1.加速方法(1)将少量常量数据,如模式串长度、文本长度等,保存在线程的private memory中。(2)将模式串保存在GPU的local memory中,加速线程对模式串的访问。(3)将待查找的文本保存在global memory中,使用尽可能多线程访问glob...
VC实现自绘图形输出到bmp文件

VC实现自绘图形输出到bmp文件

VC实现自绘图形输出到bmp文件2010-08-15江上飞鸟在用vc做程序时候,经常需要把输出的文本和图形保存到位图文件,当然可以 有现成的控件来实现,但总不能如自己所愿,还是自己动手写吧!如下图:一、实现方法要把文本和图形保存到位图文件,只要对掌握位图结构有一定的了解,一切都 ok呢。先必须要创建内存设备环境,然后内存设备环境创建的DIB区域,别忘了还 要创建个CBitmap对象,CBitmap对象必须和DIB区域关联起来,把CBitmap对象选 择到当...
汉诺塔游戏的设计

汉诺塔游戏的设计

汉诺塔游戏的设计2010-08-15 vckbase 苍竹先生汉诺塔问题是最经典的递归问题,笔者就该问题设计了这个游戏,由用户交互 游戏和自动演示两部分组成,支持撤销功能、选关、自动完成等功能。首先 建立了类CMap,该类主要实现用户每一步的操作和画图显示功能,记录的时候只 须记录每组盘子的个数和盘子的矩形。代码和注释如下://记录 每一步的盘子的情况class CMap{public: //每组 盘子的个数 int iCount[3]; //3组盘...
GPGPU OpenCL Reduction操作如何与group同步

GPGPU OpenCL Reduction操作如何与group同步

GPGPU OpenCL Reduction操作如何与group同步2015-05-11Reduction操作:规约操作就是由多个数生成一个数,如求最大值、最小值、向量点积、求和等操作,都属于这一类操作。有大量数据的情况下,使用GPU进行任务并行与数据并行,可以收到可好的效果。group同步:OpenCL只提供了工作组内的各线程之间的同步机制,并没有提供所有线程的同步。提供组内item-work同步的方法:void barrier (cl_mem_fenc...
GPGPU OpenCL如何获取设备信息

GPGPU OpenCL如何获取设备信息

GPGPU OpenCL如何获取设备信息2015-05-11在使用OpenCL编程中,需要对GPU设备的底层理解,这样才能更好的进行代码优化。比如计算单元CU数量,每个CU的执行单元PE数量,每个CU中的共享内存大小等等。只有了解了这些才能更好的使用共享内存,设计核函数的运行参数等。1.clGetDeviceInfoOpenCL使用clGetDeviceInfo函数获取设备具体,函数原型如下:cl_int clGetDeviceInfo (cl_devic...
Brew后台应用开发

Brew后台应用开发

Brew后台应用开发2010-08-15牛阿牛Overview 概述Brew应用程序可以分为3类:激活的,挂起的和后台的 ;激活或挂起的应用程序驻留在应用程序栈里,这个栈是brew用来管理正在执行 的应用的。栈中最上面(top)的是激活的应用程序,只有它才能直接与用户通过屏 幕更换或者用户事件来交互信息;挂起应用某种程度上位于当前激活应用的栈下 面 。由于可能有多个应用处于挂起状态,开发者应该尽量保证挂起程序 所占资源最小化。栈中的应用可以通过suspen...
用Visual C++干干净净地清除进程

用Visual C++干干净净地清除进程

用Visual C++干干净净地清除进程2010-08-15读者朋友们可能经常会碰到这样一个问题,想对某些进行操作时,发现这些文件正在被其它程序使用,处于打开状态,而且是被独占打开,这时是没法对文件进行操作的。因此,要想操作这些文件,必须将打开这些文件的进程清除掉。那么如何干净地清除进程呢?其实,在Windows2000操作系统版本中有一个工具程序叫tskill.exe,用它就可以清除掉某个程序的进程,在输入"tskill 程序名"后就...
如何使用ACE_Task管理线程

如何使用ACE_Task管理线程

如何使用ACE_Task管理线程2015-05-11为什么要使用ACE_Task来管理线程从C#转到C++后,感觉到C++比C#最难的地方,就是在系统编程时,C#中有对应的类库,我接触到一个类后,就可以通过这个类,知道很多相关的功能。而在C++中,必须使用Windows API,但是Windows API的缺点反而是不系统。比如,想要创建一个线程时,C#中可以通过新建一个Thread类,我得到这个类后,就可以通过帮助或者MSDN了解到这个类中有哪些方法,如...
在VC++ 6.0下利用消息实现内部进程通讯

在VC++ 6.0下利用消息实现内部进程通讯

在VC++ 6.0下利用消息实现内部进程通讯2010-08-15郎锐内部进程间通讯和数据交换有多种方式:消息、共享内存、匿名(命名)管道 、邮槽、Windows套接字等多种技术。其中利用消息机制实现IPC虽然同其他方法 相比有交换的数据量小、携带的信息少等缺点,但由于其实现方便、应用灵活而 广泛应用于无须大量、频繁数据交换的内部进程通讯系统之中,尤其是对于在上 层主控软件与底层工作软件之间的命令与响应上更能充分显示其良好的性能。本文就通过编制一个主控软件和...
如何使用ACE_Get_Opt解析命令行

如何使用ACE_Get_Opt解析命令行

如何使用ACE_Get_Opt解析命令行2015-05-11当我们用C++开发一些C++控制台小工具时,会需要一些用户输入的参数来决定程序如何工作和执行,而用户输入参数的方式大部分都是采用命令行参数的方式。比如上一篇文章 玩转Windows服务系列——命令行管理Windows服务 中介绍的sc和net工具。既然命令行参数这么普遍也这么有用,那么就有必要学习一下如何解析命令行参数。如何解析命令行参数那么命令行参数要如何解析呢。最最最笨...
使用ACE遇到无法打开包括文件:“inttypes.h”的解决方案

使用ACE遇到无法打开包括文件:“inttypes.h”的解决方案

使用ACE遇到无法打开包括文件:“inttypes.h”的解决方案2015-05-13本来想使用ACE_Get_Opt类来做一个命令行解析的功能,但是当项目中配置好了ACE库的路径后,编译时遇到“无法打开包括文件: inttypes.h : No such file or directory ”的错误。下面是我的目录配置由于是编译错误,所以和库目录的设置没关系。下面是代码Collapse// GetOptTest.cpp : 定义控...
Visual C++优化对大型数据集合的并发访问

Visual C++优化对大型数据集合的并发访问

Visual C++优化对大型数据集合的并发访问2010-08-22Ian Emmons摘要 应用程序性能不仅仅与速度有关。在 Web 服务器环境中,卓越的性能还意味着确保可以并发地为最大数量的用户服务。这可以通过高效地使用多处理器计算机和线程管理来达到。本文介绍了可以解决许多并发性问题的技术。一种方法是使用线程管理,在线程基础上控制对数据库的访问 — 这可以保护数据的完整性。在本文中,生成并提供了可重用的线程类。然后,对这些类进行了测试,并在...
使用XCB编写X Window程序(一) 快速起步

使用XCB编写X Window程序(一) 快速起步

使用XCB编写X Window程序(一) 快速起步2015-05-13估计现在已经没有谁使用XCB这么底层的库写应用程序了,要用也是用经过精心封装的Motif, LessTiff, GTK, Qt, EWL, ETK或者Cairo等高层次的库。我之所以这么费心地去折腾XCB,其实主要也是为了学习。毕竟,使用最接近底层的UI库写代码是学习X协议及GUI编程原理的最好方法。XCB的主要教程可以参考这里:http://xcb.freedesktop.org/tu...
<< 281 282 283 284 285 286 287 288 289 290 >>