自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 使用UIActivityIndicatorView

4.8 秘诀:使用UIActivityIndicatorViewUIActivityIndicatorView实例提供轻型视图,这些视图显示一个标准的旋转进度轮。当使用这些视图时,最重要的一个关键词是小。20×20像素是大多数指示器样式获得最清楚显示效果的大小。只要稍大一点,指示器都会变得模糊。图4-7显示了一个40像素的版本。你需要在屏幕上将该指示器居中。将其放置在最方便操作的位置。

2009-09-01 09:34:00 13550 2

转载 EGL Configurations

EGLConfigs是一个用来描述EGL surface配置信息的数据类型。要获取正确的渲染结果,Surface的格式是非常重要的。根据平台的不同,surface配置可能会有限制,比如某个设备只支持16位色深显示,或是不支持stencil buffer,还有其他的功能限制或精度的差异。       下面是获取系统可用的EGL配置信息的函数原型:EGLBoolean eglGetConfig

2009-06-21 11:48:00 1164

转载 some design pattern UML class diagrams

visitor pattern: observer pattern: facede pattern:  factory pattern: 

2009-06-08 09:30:00 1120

原创 昨天遇到的一个断言失败,程序退出的问题

查了一会,始终没找到相关资料,也许是关键字不好确定最终,一步一步的调试,发现是以下现象造成的  case WM_CANCELMODE:  MessageBoxA(NULL, "WM_CANCELMODE", "test", MB_OK);  assert(false);  break; case WM_SHOWWINDOW:  MessageBoxA(NULL, "WM_SHOWWIN

2009-05-20 17:50:00 3279

转载 全面介绍Windows内存管理机制及C++内存分配实例(一):进程空间

本文背景:在编程中,很多Windows或C++的内存函数不知道有什么区别,更别谈有效使用;根本的原因是,没有清楚的理解操作系统的内存管理机制,本文企图通过简单的总结描述,结合实例来阐明这个机制。本文目的:对Windows内存管理机制了解清楚,有效的利用C++内存函数管理和使用内存。本文内容:本文一共有六节,由于篇幅较多,故按节发表。其他章节请看本人博客的Windows内存管理及

2009-05-08 10:37:00 2438 1

转载 Windows Socket五种I/O模型——代码全攻略

如 果你想在Windows平台上构建服务器应用,那么I/O模型是你必须考虑的。Windows操作系统提供了选择(Select)、异步选择 (WSAAsyncSelect)、事件选择(WSAEventSelect)、重叠I/O(Overlapped I/O)和完成端口(Completion Port)共五种I/O模型。每一种模型均适用于一种特定的应用场景。程序员应该对自己的应用需求非常明确,而且

2009-05-07 22:47:00 819

转载 完成端口与高性能服务器程序开发

由于在视窗平台的网络通讯中,尤其是网络游戏的开发中,完成端口是如此的重要,笔者实在没有时间去写文章介绍这种技术,也许将来我会公布《聊斋世界》中用到的完成端口通讯技术,但是现在只好转贴一篇文章给大家参考用。完成端口与高性能服务器程序开发     -|波布E族 发表于 2006-10-13 8:31:00此文转自XFOCUS。。   

2009-05-06 23:18:00 1414 1

转载 理解I/O Completion Port(完成端口)

欢迎阅读此篇IOCP教程。我将先给出IOCP的定义然后给出它的实现方法,最后剖析一个Echo程序来为您拨开IOCP的谜云,除去你心中对IOCP的烦恼。OK,但我不能保证你明白IOCP的一切,但我会尽我最大的努力。以下是我会在这篇文章中提到的相关技术:  I/O端口  同步/异步  堵塞/非堵塞  服务端/客户端  多线程程序设计  Winsock API 2.0  在这之前,我曾经开发过一个项目,

2009-05-05 18:32:00 826

转载 完成端口(I/O completion)原理

异步过程调用(apcs)问题:    只有发overlapped请求的线程才可以提供callback函数(需要一个特定的线程为一个特定的I/O请求服务)。完成端口(I/O completion)的优点:    不会限制handle个数,可处理成千上万个连接。I/O completion port允许一个线程将一个请求暂时保存下来,由另一个线程为它做实际服务。并发模型与线程池: 

2009-05-05 18:24:00 1296

转载 do/while(0)的妙用

在C++中,有三种类型的循环语句:for, while, 和do...while, 但是在一般应用中作循环时, 我们可能用for和while要多一些,do...while相对不受重视。    但是,最近在读我们项目的代码时,却发现了do...while的一些十分聪明的用法,不是用来做循环,而是用作其他来提高代码的健壮性。 1. do...while(0)消除goto语句。通常,如果在一个函数中

2009-05-05 11:10:00 1521

转载 assert(断言)的使用

原创作者:Qdieyou,转载请加注。程序一般分为Debug 版本和Release 版本,Debug 版本用于内部调试,Release 版本发行给用户使用。(这个概念可能不大好理解,想想VC下,调试时有个选项,一个是debug,一个是release)assert(表达式);     的意思是:当表达式为真时,程序继续运行,如果表达市为假,那程序就会停止运行,并提示错误信息。注意:assert是一个

2009-05-05 11:09:00 1831

转载 WIN32多线程程序设计学习笔记(第六章 上)

我们知道当程序调用I/O设备处理一些事情时,让主程序停下来干等I/O的完成是没有效率的。对这个问题有下面几种解决方法:方法一:使用另一个线程进行I/O。但从以前的学习中也知道,协调线程间的关系是一件麻烦的事情,需要小心的设计;所以这个方案可行,但是麻烦。方法二:使用overlapped I/O。正如书上所说:“overlapped I/O是WIN32的一项技术,你可以要求操作系统为你传送数

2009-04-22 19:29:00 466

转载 WIN32多线程程序设计学习笔记(第六章 下)

上面的程序片段使用WaitForMultipleObjects函数来等待,会有两个问题:第一、     只能等待小于64个的对象,这是WaitForMultipleObjects函数本身所带来的限制。第二、     你必须不断根据“哪一个handle被激发”而计算如何处理。那个这个程序的结构可不是很清晰,以后维护可不方便 那么书上在这里提供了一个异步过程调用(APCs)的方法来解决

2009-04-22 19:29:00 447

转载 WIN32多线程程序设计学习笔记(第四章 上)

到目前为止,我已经知道如何创建线程,销毁线程及如何判断一个线程是否结束了;但运用线程,管理线程,如何使线程按自己意愿正确运行才是多线程程序设计的重点及难点。 大家知道,线程具有并发性,在同一时间段会存在多个线程,当这些线程同时存取同一数据时,就会有问题。就像在超市储物品一样,来的时候物品箱是空,转身拿物品准备储的时候,发现物品箱已被占用了。这时,物品箱就是我所说的同一数据,人指的就是线程了

2009-04-22 19:28:00 439

转载 WIN32多线程程序设计学习笔记(第四章 下 第五章)

终于又看多线程程序设计>>了;开卷有益,今天看了第四章后半部分,感觉颇有收获;以前对EVENT这个核心对象,用起来总是心中没底,看了EVENT的介绍也是似懂非懂的。哈!今天看了以后,真有神助,我觉得应该是搞懂了(自以为事J)。仔细想想,应该是记笔记的功劳,用脑筋写过的东西还真是不容易忘记咧!!!不但印象深刻,而且助我理解了EVENT。 好了,闲话少说,进入正题吧!从第三章以来,每一章都

2009-04-22 19:28:00 536

转载 WIN32多线程程序设计学习笔记(第二章)

《WIN32多线程程序设计》这本书也看了好多遍,但总是觉得印象不深;我想是不是应该做做笔记,一来可以加深一下印象。二也在可以在用时方便查阅。J 首先,我觉得线程一点都不难(这样的心理暗示会使我觉得学的轻松一些);why?  与调用函数的过程类似;线程只不过用CreateThread的API将函数HANDLE hThread = CreateThread (LPSECURIT

2009-04-22 19:27:00 554

转载 WIN32多线程程序设计学习笔记(第三章)

通过在上一章的学习,我学会使用GetExitCodeThread()这个函数来判断一个线程是否还在执行。通过这个函数,我就可以对付“某个线程必须在某个线程结束后才能运行”的情况。复习一下:程序片段:              for  ( ; ; )              {                     int rc;                     r

2009-04-22 19:27:00 484

转载 用完成端口写的echo server

完成端口网上的例子很多,但觉得都挺复杂的写了一个简化版的,方便学习,也加了注释。有任何问题,欢迎跟我讨论。========代码来了=========#include winsock2.h>#include mswsock.h>#include windows.h>#include iostream>using namespace std;int g_ThreadCount;HANDLE g_h

2009-04-22 19:24:00 507

转载 为何要用_beginthreadex()而非CreateThread?

当你打算实现一个多线程(非MFC)程序,你会选择一个单线程的CRT(C运行时库)吗?如果你的回答是NO, 那么会带来另外一个问题,你选择了CreateThread来创建一个线程吗? 大多数人也许会立刻回答YES。可是很不幸,这是错误的选择。我先来说一下我的结论,待会告诉你为什么。 如果要作多线程(非MFC)程序,在主线程以外的任何线程内 - 使用malloc(),free(),new - 调用st

2009-04-22 09:54:00 1374 1

转载 CloseHandle()函数的使用

 CloseHandle()函数的使用?? 很多程序在创建线程都这样写的: ............ ThreadHandle = CreateThread(NULL,0,.....); CloseHandel(ThreadHandle ); 。。。。。这不是刚好创建又关闭了吗?线程怎么运行呢? ================================================ Cl

2009-04-22 09:51:00 480

转载 一个非英语专业的人的自述:我如何用一年时间考上欧盟口译司

今天看到一篇文章,说是一个猛人用一年时间考上欧盟口译司,看完之后,只有一个感觉,就是意志力决定你的成功,就象我在昨天的文章中说到的,能有坚强意志力的人少之又少,但这个人绝对是其中之一。   我的网名叫做jacky, 大学在青岛市念书,4年,中国海洋大学的计算机科学与技术。我并不象很多人那样关注现在的流行,超级女声,快乐男声,加油!好男儿,李宇春,张靓颖或者周 笔畅,我甚至可能也不知道谁是全

2009-04-22 09:50:00 2021 1

空空如也

空空如也

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

TA关注的人

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