hi man

博客园 首页 新随笔 联系 订阅 管理

2012年11月19日 #

摘要: 下面是我在写LUA脚本过程中遇到的问题1----------------------------------------------------------------local t = {}t[1] = 10t[3] = 20t[4] = 30print(table.getn(t))结果: 4LUA 中的 table.getn 函数是根据下标数来设定的, 上面LUA代码中 "t[4] = 30" 下标为 4。则 table.getn(t) 的结果为4.如果在 LUA 脚本中要获取 TABLE 大小时,要 "for k, v in pairs(t) do ... 阅读全文
posted @ 2012-11-19 15:31 KuPig 阅读(250) 评论(0) 推荐(0) 编辑

2012年4月17日 #

摘要: fd_set 是一个描述符的集合. 其中每一位是标示每一个描述符. 通过FD_SET()宏在集合中设置描述符.下面是宏的实现... 1 #define FD_SET(fd, set) do { \ 2 u_int __i; \ 3 for (__i = 0; __i < ((fd_set FAR *)(set))->;fd_count; __i++) { \ 4 if (((fd_set FAR *)(set))->;fd_array[__i] == (fd)) { \ 5 break; \ 6 } \ 7 ... 阅读全文
posted @ 2012-04-17 14:24 KuPig 阅读(1328) 评论(0) 推荐(0) 编辑

2011年12月9日 #

摘要: 网管装的系统, C: 是Fat32的....有时运行程序就会弹出未找到msvcr90d.dll这个对话框.下面是解这个蛋疼问题的方法.1>Manifest Tool下面有一个选项"使用FAT32解决办法"(Use FAT32 work around)是专门解决这个问题的.对于FAT32的磁盘,需要选择"Yes",默认是"No". 2>properties->property pages->linker->manifest file -->Allow Isolation,把“嵌入清单”选“否”,然后编 阅读全文
posted @ 2011-12-09 14:41 KuPig 阅读(437) 评论(0) 推荐(0) 编辑

2011年10月27日 #

摘要: 现在游戏中,大多都使用有限状态机。也是设计模式之一。就是通过一个状态基类,根据基类指针执行不同状态。下面给出简单的代码,大体上就这样。Code:classState { public: virtualvoidExecute(Troll*troll); }; classTroll//巨魔类{ State*m_pCurrentState; public: voidUpdate() { m_pCurrentState->Execute(this); } voidChangeState(constState*pNewState) { deletem_pCurrentState; m_pCurre 阅读全文
posted @ 2011-10-27 10:57 KuPig 阅读(366) 评论(0) 推荐(0) 编辑

2011年10月21日 #

摘要: http://adyhpq.blog.163.com/blog/static/3866700201073111214846/ 阅读全文
posted @ 2011-10-21 09:32 KuPig 阅读(365) 评论(0) 推荐(0) 编辑

2011年10月19日 #

摘要: 转的, 写的不错.现在来介绍了数据库索引,及其优、缺点。针对MySQL索引的特点、应用进行了详细的描 述。分析了如何避免MySQL无法使用,如何使用EXPLAIN分析查询语句,如何优化MySQL索引的应用。本文摘自《MySQL 5权威指南》(3rd)的8.9节。索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。注:[1]索引不是万能的!索引可以加快数据检索操作,但会使数据修改操作变慢。每修改数据记录,索引就必须刷新一次。为了在某种程序上弥补这一缺陷,许 多SQL命令都有一个DELAY_KEY_WRITE项。这个选项的作用是暂时制止 阅读全文
posted @ 2011-10-19 09:51 KuPig 阅读(28984) 评论(4) 推荐(2) 编辑

2011年10月12日 #

摘要: 现在告诉你它有什么用:现在是图形界面了。比如说像以前的文字界面的话,还有用。像dos命令,比如说,ipconfig -a ,它比ipconfig 多了一个参数。在程序中就可以通过它所带的参数而知道,使用者想怎么用它。使用者通过 -a 这个参数。告诉程序,要列出详细的信息。#include <stdio.h>int main(int argc, char *argv[]){ if(1 == argc) { printf("参数太少.\n"); getch(); exit(0); } if('s' == argv[1][1]) { printf(&q 阅读全文
posted @ 2011-10-12 11:06 KuPig 阅读(279) 评论(0) 推荐(0) 编辑

2011年10月11日 #

摘要: 在网上看到的文章, 写的挺全的, 具有总结性质. 于是转过来了..源地址(呵呵, 他也是转的)http://www.cnblogs.com/skyczw/archive/2008/05/27/1208194.html《windows环境多线程编程原理与应用》中解释: 如果将类的封装比喻成一堵墙的话,那么友元机制就像墙上了开了一个门,那些得 到允许的类或函数允许通过这个门访问一般的类或者函数无法访问的私有属性和方法。友元机制使类的封装性得到消弱,所以使用时一定要慎重。友元类的说明将外界的某个类在本类别的定义中说明为友元,那么外界的类就成为本类的“朋 友”,那个类就可以访问本类的私有数据了。cla 阅读全文
posted @ 2011-10-11 10:00 KuPig 阅读(320) 评论(0) 推荐(0) 编辑

2011年6月16日 #

摘要: 下面我就用Lock, Unlock分别代替EnterCriticalSection(),LeaveCriticalSection()吧. 这样说起来方便.// 线程1threadfunc1(){ Lock(); // 代码1 Unlock();}// 线程2threadfunc2(){ Lock(); // 代码2 Unlock();}当 线程1 执行了 代码1 时,先Lock(); 这时如果 线程2 被唤醒, 遇到Lock()的时候会根据CRITICAL_SECTIONcs 来是否可以使用 代码2。因 cs 已经被 线程1 所占领。所以第二个线程的Lock()语句将不会返回,而是处于挂起状态 阅读全文
posted @ 2011-06-16 23:07 KuPig 阅读(224) 评论(0) 推荐(0) 编辑

2011年6月1日 #

摘要: 今天下班回来,在CBLOG闲逛。看到一道关于指针的面试题,刚开始看着有点绕。如下:#include <stdio.h> struct S { int i; int *p;}; int main() { S s; int *p = &s.i; p[0] = 4; p[1] = 3; s.p = p; s.p[1] = 1; s.p[0] = 2; return 0;}出错的原因是,对未作声明的地址赋值程序会崩溃。平时在工作中估计没有人会这样用的,可能就是考基本功吧。总结: 1> int * p = (int *)3; //... 阅读全文
posted @ 2011-06-01 00:49 KuPig 阅读(261) 评论(0) 推荐(1) 编辑