摘要:
一个很小的插件工具, 用于禁止/允许显示网页上的Flash: http://flash.melameth.com/togflash.html 阅读全文
posted @ 2008-04-19 06:45
ajuanabc
阅读(170)
评论(0)
推荐(0)
摘要:
今天在公司看到有一个同事在吃完冰激淋后,把剩下的塑料包装盒拿去洗。我当时心里在想, 不至于节约到这个地步吧??!!后来上去一问才知道,原来他是要把包装盒洗干净,回家的时候顺便开车送到专门回收塑料制品的地方。 我说公司不是也有专门回收塑料制品的垃圾箱么? 他告诉我塑料制品其实分很多类,公司那个垃圾箱写了只能回收第6类的, 而那个冰激淋的包装盒底部标的是第5类。 我仔细看了那个包装盒底部那个三角形的回收标记, 果然有个5。以前从来没有注意到, 汗! 阅读全文
posted @ 2008-04-19 06:04
ajuanabc
阅读(179)
评论(0)
推荐(0)
摘要:
多线程的程序是比较常见的,更何况是网络程序。随着多核CPU的发展,想提高程序的性能,只能靠多线程工作了。下面就带你看看第二人生是怎么创建多线程工作的,每个线程又是做什么样的工作。由于线程类是主动类,线程的工作结构就是程序的工作结构了,写一个好的程序,往往就是线程类的结构安排,也就是整个程序的架构实现。并且每个线程之间的交互,都需要小心地进行着,一着不慎就全盘皆输,造成多个线程之间死锁的出现,因此写多线程程序,总要如履薄冰,小心翼翼。#001bool LLAppViewer::initThreads()#002{定义是否允许跟内存。#003#if MEM_TRACK_MEM#004 static 阅读全文
posted @ 2008-04-18 23:26
ajuanabc
阅读(139)
评论(0)
推荐(0)
摘要:
如果上网的时候想做计算却懒得去打开windows自带计算器, 可以试试用IE的地址栏(如下图)。 阅读全文
posted @ 2008-04-18 04:28
ajuanabc
阅读(120)
评论(0)
推荐(0)
摘要:
在Windows XP系统里,如果一个程序出错了,就会产生一个程序错误报告,并且可以发送到微软去。对于用户自己开发的程序出错,并不需要发送到微软去,因为那样做是没有什么作用的,毕竟微软不会帮我们改正程序的,那么怎么样来修改出错时不发送到弹出程序出错报告呢?现在就来看看第二人生里是怎么样实现的吧。它的代码如下:#001void LLAppViewerWin32::disableWinErrorReporting()#002{#003 const char win_xp_string[] = "Microsoft Windows XP";下面判断是否XP系统。#004 BOOL 阅读全文
posted @ 2008-04-17 22:57
ajuanabc
阅读(189)
评论(0)
推荐(0)
摘要:
以展开刷新不改变的二级树形菜单,大类点击不展开小类,小类有旁边的图标展开。 <!--#includefile="conn.asp"--> <SCRIPTlanguage=JavaScript> var__cc_uid="shenglu"; </SCRIPT> <SCRIPTtype=text/javascript> varpersistmenu="yes"//"yes"or"no".MakesureeachSPANcontentcontainsan 阅读全文
posted @ 2008-04-17 12:55
ajuanabc
阅读(186)
评论(0)
推荐(0)
摘要:
在WEB应用中可通过ANT的API调用ant的工程配置文件来在线编译java文件,在工程配置文件中(如build.xml)将编译的class文件或者变更的xml文件直接复制到WEB-INF/classes中的对应目录,不用重新启动tomcat. 由于在平台应用中经常由用户定义表结构,并由表结构生成java实体类和hibernate映射文件,通过热编译部署的方式可不用停止WEB应用,下面是在Java中调用ant的代码,注意这种方式不是调用ant的批处理的,也不提倡这样做,下面的方式可使用户通过点击WEB页面上的按钮来调用ANT编译:package org.apache.easframewor.. 阅读全文
posted @ 2008-04-16 23:16
ajuanabc
阅读(146)
评论(0)
推荐(0)
摘要:
消息解包已经看得比较多了,现在就来分析一下怎么样打包一个消息包。上面已经介绍了通过UDP发送消息包给服务器,这里主要介绍打包的过程,它的代码如下:#001void give_money(const LLUUID& uuid, LLViewerRegion* region, S32 amount, BOOL is_group,#002 S32 trx_type, const LLString& desc)#003{下面判断是否有钱要给别人。#004 if(0 == amount) return;给钱别人都是正值,没有给负钱的说法以。#005 amount = abs(amount 阅读全文
posted @ 2008-04-16 22:57
ajuanabc
阅读(199)
评论(0)
推荐(0)
摘要:
虽然上面介绍了这么多消息处理:从网络接收到数据,再从数据解释到数据获取,但没有一个清晰的流程,下面就来详细地分析这个数据流程是怎么样调用的。具体调用流程如下:1. LLAppViewer::idle() 空闲时处理函数。2. LLAppViewer::idleNetwork()空闲时处理网络事件。3. LLMessageSystem::checkAllMessages()检查消息系统所有消息。4. LLMessageSystem::checkMessages() 检查一下是否有消息接收到。5. LLTemplateMessageReader::readMessage()读取当前的消息。6. L 阅读全文
posted @ 2008-04-15 23:29
ajuanabc
阅读(177)
评论(0)
推荐(0)
摘要:
上面介绍了怎么样构造消息模板,并用它来灵活地生成各种各样需要传送数据的数据结构,现在就来分析一下使用模板怎么样去分析缓冲区里的数据,然后获取消息各个字段数据,这样才可以让别的程序使用起来。#001BOOL LLTemplateMessageReader::readMessage(const U8* buffer, #002 const LLHost& #003sender)#004{#005 return decodeData(buffer, sender);#006}在LLMessageSystem::checkMessages函数里调用readMessage函数来解包,而函数rea 阅读全文
posted @ 2008-04-14 21:53
ajuanabc
阅读(147)
评论(0)
推荐(0)
浙公网安备 33010602011771号