- 博客(21)
- 收藏
- 关注
原创 使用UIActivityIndicatorView
4.8 秘诀:使用UIActivityIndicatorViewUIActivityIndicatorView实例提供轻型视图,这些视图显示一个标准的旋转进度轮。当使用这些视图时,最重要的一个关键词是小。20×20像素是大多数指示器样式获得最清楚显示效果的大小。只要稍大一点,指示器都会变得模糊。图4-7显示了一个40像素的版本。你需要在屏幕上将该指示器居中。将其放置在最方便操作的位置。
2009-09-01 09:34:00 13605 2
转载 EGL Configurations
EGLConfigs是一个用来描述EGL surface配置信息的数据类型。要获取正确的渲染结果,Surface的格式是非常重要的。根据平台的不同,surface配置可能会有限制,比如某个设备只支持16位色深显示,或是不支持stencil buffer,还有其他的功能限制或精度的差异。 下面是获取系统可用的EGL配置信息的函数原型:EGLBoolean eglGetConfig
2009-06-21 11:48:00 1208
转载 some design pattern UML class diagrams
visitor pattern: observer pattern: facede pattern: factory pattern:
2009-06-08 09:30:00 1147
原创 昨天遇到的一个断言失败,程序退出的问题
查了一会,始终没找到相关资料,也许是关键字不好确定最终,一步一步的调试,发现是以下现象造成的 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 3344
转载 全面介绍Windows内存管理机制及C++内存分配实例(一):进程空间
本文背景:在编程中,很多Windows或C++的内存函数不知道有什么区别,更别谈有效使用;根本的原因是,没有清楚的理解操作系统的内存管理机制,本文企图通过简单的总结描述,结合实例来阐明这个机制。本文目的:对Windows内存管理机制了解清楚,有效的利用C++内存函数管理和使用内存。本文内容:本文一共有六节,由于篇幅较多,故按节发表。其他章节请看本人博客的Windows内存管理及
2009-05-08 10:37:00 2464 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 837
转载 完成端口与高性能服务器程序开发
由于在视窗平台的网络通讯中,尤其是网络游戏的开发中,完成端口是如此的重要,笔者实在没有时间去写文章介绍这种技术,也许将来我会公布《聊斋世界》中用到的完成端口通讯技术,但是现在只好转贴一篇文章给大家参考用。完成端口与高性能服务器程序开发 -|波布E族 发表于 2006-10-13 8:31:00此文转自XFOCUS。。
2009-05-06 23:18:00 1434 1
转载 理解I/O Completion Port(完成端口)
欢迎阅读此篇IOCP教程。我将先给出IOCP的定义然后给出它的实现方法,最后剖析一个Echo程序来为您拨开IOCP的谜云,除去你心中对IOCP的烦恼。OK,但我不能保证你明白IOCP的一切,但我会尽我最大的努力。以下是我会在这篇文章中提到的相关技术: I/O端口 同步/异步 堵塞/非堵塞 服务端/客户端 多线程程序设计 Winsock API 2.0 在这之前,我曾经开发过一个项目,
2009-05-05 18:32:00 857
转载 完成端口(I/O completion)原理
异步过程调用(apcs)问题: 只有发overlapped请求的线程才可以提供callback函数(需要一个特定的线程为一个特定的I/O请求服务)。完成端口(I/O completion)的优点: 不会限制handle个数,可处理成千上万个连接。I/O completion port允许一个线程将一个请求暂时保存下来,由另一个线程为它做实际服务。并发模型与线程池:
2009-05-05 18:24:00 1319
转载 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 1577
转载 assert(断言)的使用
原创作者:Qdieyou,转载请加注。程序一般分为Debug 版本和Release 版本,Debug 版本用于内部调试,Release 版本发行给用户使用。(这个概念可能不大好理解,想想VC下,调试时有个选项,一个是debug,一个是release)assert(表达式); 的意思是:当表达式为真时,程序继续运行,如果表达市为假,那程序就会停止运行,并提示错误信息。注意:assert是一个
2009-05-05 11:09:00 1857
转载 WIN32多线程程序设计学习笔记(第六章 上)
我们知道当程序调用I/O设备处理一些事情时,让主程序停下来干等I/O的完成是没有效率的。对这个问题有下面几种解决方法:方法一:使用另一个线程进行I/O。但从以前的学习中也知道,协调线程间的关系是一件麻烦的事情,需要小心的设计;所以这个方案可行,但是麻烦。方法二:使用overlapped I/O。正如书上所说:“overlapped I/O是WIN32的一项技术,你可以要求操作系统为你传送数
2009-04-22 19:29:00 484
转载 WIN32多线程程序设计学习笔记(第六章 下)
上面的程序片段使用WaitForMultipleObjects函数来等待,会有两个问题:第一、 只能等待小于64个的对象,这是WaitForMultipleObjects函数本身所带来的限制。第二、 你必须不断根据“哪一个handle被激发”而计算如何处理。那个这个程序的结构可不是很清晰,以后维护可不方便 那么书上在这里提供了一个异步过程调用(APCs)的方法来解决
2009-04-22 19:29:00 461
转载 WIN32多线程程序设计学习笔记(第四章 上)
到目前为止,我已经知道如何创建线程,销毁线程及如何判断一个线程是否结束了;但运用线程,管理线程,如何使线程按自己意愿正确运行才是多线程程序设计的重点及难点。 大家知道,线程具有并发性,在同一时间段会存在多个线程,当这些线程同时存取同一数据时,就会有问题。就像在超市储物品一样,来的时候物品箱是空,转身拿物品准备储的时候,发现物品箱已被占用了。这时,物品箱就是我所说的同一数据,人指的就是线程了
2009-04-22 19:28:00 456
转载 WIN32多线程程序设计学习笔记(第四章 下 第五章)
终于又看多线程程序设计>>了;开卷有益,今天看了第四章后半部分,感觉颇有收获;以前对EVENT这个核心对象,用起来总是心中没底,看了EVENT的介绍也是似懂非懂的。哈!今天看了以后,真有神助,我觉得应该是搞懂了(自以为事J)。仔细想想,应该是记笔记的功劳,用脑筋写过的东西还真是不容易忘记咧!!!不但印象深刻,而且助我理解了EVENT。 好了,闲话少说,进入正题吧!从第三章以来,每一章都
2009-04-22 19:28:00 552
转载 WIN32多线程程序设计学习笔记(第二章)
《WIN32多线程程序设计》这本书也看了好多遍,但总是觉得印象不深;我想是不是应该做做笔记,一来可以加深一下印象。二也在可以在用时方便查阅。J 首先,我觉得线程一点都不难(这样的心理暗示会使我觉得学的轻松一些);why? 与调用函数的过程类似;线程只不过用CreateThread的API将函数HANDLE hThread = CreateThread (LPSECURIT
2009-04-22 19:27:00 570
转载 WIN32多线程程序设计学习笔记(第三章)
通过在上一章的学习,我学会使用GetExitCodeThread()这个函数来判断一个线程是否还在执行。通过这个函数,我就可以对付“某个线程必须在某个线程结束后才能运行”的情况。复习一下:程序片段: for ( ; ; ) { int rc; r
2009-04-22 19:27:00 505
转载 用完成端口写的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 524
转载 为何要用_beginthreadex()而非CreateThread?
当你打算实现一个多线程(非MFC)程序,你会选择一个单线程的CRT(C运行时库)吗?如果你的回答是NO, 那么会带来另外一个问题,你选择了CreateThread来创建一个线程吗? 大多数人也许会立刻回答YES。可是很不幸,这是错误的选择。我先来说一下我的结论,待会告诉你为什么。 如果要作多线程(非MFC)程序,在主线程以外的任何线程内 - 使用malloc(),free(),new - 调用st
2009-04-22 09:54:00 1390 1
转载 CloseHandle()函数的使用
CloseHandle()函数的使用?? 很多程序在创建线程都这样写的: ............ ThreadHandle = CreateThread(NULL,0,.....); CloseHandel(ThreadHandle ); 。。。。。这不是刚好创建又关闭了吗?线程怎么运行呢? ================================================ Cl
2009-04-22 09:51:00 496
转载 一个非英语专业的人的自述:我如何用一年时间考上欧盟口译司
今天看到一篇文章,说是一个猛人用一年时间考上欧盟口译司,看完之后,只有一个感觉,就是意志力决定你的成功,就象我在昨天的文章中说到的,能有坚强意志力的人少之又少,但这个人绝对是其中之一。 我的网名叫做jacky, 大学在青岛市念书,4年,中国海洋大学的计算机科学与技术。我并不象很多人那样关注现在的流行,超级女声,快乐男声,加油!好男儿,李宇春,张靓颖或者周 笔畅,我甚至可能也不知道谁是全
2009-04-22 09:50:00 2074 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人