牵着老婆满街逛

严以律己,宽以待人. 三思而后行.
GMail/GTalk: yanglinbo#google.com;
MSN/Email: tx7do#yahoo.com.cn;
QQ: 3 0 3 3 9 6 9 2 0 .

共6页: 1 2 3 4 5 6 
re: 防止程序多开的方法 杨粼波 2011-03-29 10:28
windows系统下,程序防止多开的几种常见方法:
1)使用FindWindow API函数。
通过查找窗口标题(或/和类名)来判断程序是否正在运行。如果找到了,表明程序正在运行,这时可退出程序,达到不重复运行的效果;反之表明程序是第一次运行。
这种方法不适用于以下情况,程序的标题是动态变化的、系统中运行了相同标题(或/和类名)的程序

2)Mutex/Event/Semaphore
通过互斥对象/信号量/事件等线程同步对象来确定程序是否已经运行。最常用的函数如:CreateMutexA(注意:QQ堂、QQ游戏大厅就是采用这样方法来限制程序多开的)

3)内存映射文件(File Mapping)
通过把程序实例信息放到跨进程的内存映射文件中,也可以控制程序多开。

4)DLL全局共享区
DLL全局共享区在映射到各个进程的地址空间时仅被初始化一次,且是在第一次被windows加载时,所以利用该区数据就能对程序进行多开限制。

5)全局Atom
将某个特定字符串通过GlobalAddAtom加入全局原子表(Global Atom Table),程序运行时检查该串是否存在来限制程序多开。(该Atom不会自动释放,程序退出前必须调用GlobalDeleteAtom来释放Atom)

6)检查窗口属性
将某些数据通过SetProp加入到指定窗口的property list,程序运行时枚举窗口并检查这些数据是否存在来限制多开。

以上只列举了最常见的几种方法,具体应用中可以有n种选择,或综合运用多种方法来限制。
#pragma once现在貌似只有VC支持这个宏语句。
不过,我觉得这个比较好,写着容易,不罗嗦,就是别的编译器不支持。
Chrome也有这样的情况发生。
我现在也只有说为了发帖子才用IE那种垃圾货。
SDL 简单的音频视频库,是这样的吗?
SDL是一个自由的跨平台的多媒体开发包。

Loki应该描述为:C++模板库。


ode,bullet 开源的3D物理引擎库;
2D的物理引擎里面有一个出名的Box2D。


Orge是OGRE吧?Ogre3D算不上中间件,建议自己去查询下中间件的概念。

sqlite以及Berkeley DB都是:嵌入数据库编程库。



不知道这个帖子的意义何在。
我也是编译不过,这玩意真是麻烦。
你的绘制方法不对吧。
re: 关于CppUnit的使用?[未登录] 杨粼波 2011-03-03 15:00
后期可以用,维护的时候,因为可以进行自动化的回归测试。
不过,单元测试不是万能,但是,能够保证一些细节的可靠。
哦?这样的么?
我之前用Windows 7 32位的时候,有的项目会有问题,有的不会,很是奇怪,我估计可能是权限的问题还是怎样的。

但是,我前几天换到了64位的操作系统以后,就有问题了,奇了个怪。说实话,让我每个项目都这样做,我也很烦。
但是,我现在每调试一次,就要关闭一次工程,这很烦人的。
re: Windows下两种iocp实现的差距 杨粼波 2011-02-04 11:52
by说的在理.


iocp可以看看这篇文章,挺好的.
http://wenku.baidu.com/view/a1f11287bceb19e8b8f6ba2d.html
re: 关于内存数据库 杨粼波 2011-01-23 19:16
采用何种解决方案,视乎你的需求而定。
合适的就是最好的,
所以,如何去做,是你自己去选择,
我给你多一个选择,剩下的就是你自己去选择了。
它的应用是很广泛的,不管是在线游戏的领域,还是大型网站的领域里面,比比皆是。

在现在,内存越来越便宜,但是磁盘硬盘IO很慢的情况下,不失为一个良好的解决方案。当然,等到固态硬盘技术普及了之后,可能就不再需要考虑数据库的IO问题了。

当然,memcache的解决方案也不是万金油,要想减少数据库对磁盘的IO操作,那倒是足够了。
re: 关于内存数据库 杨粼波 2011-01-21 15:33
memcached
@陈梓瀚(vczh)

你呀,也不能这么偏激,都是为了生计滴。
@Kevin Lynx
我就知道,他们会一个一个的问下去的,所以,先给大家提个醒了。
re: UI中包裹物品排序 杨粼波 2010-12-23 14:17
几百个,不值一提的数量级.
STL几乎瞬间搞定.

不管你做什么操作,都会操作背包里面的逻辑数据,只要数据发生改变,数据就脏了.你可以用观察者模式,去通知UI或者别的需要订阅的对象.
唉,我从第一行的Hello World,到现在已经快十四年了.
从小霸王,到电子字典,再到PC,哈哈哈哈.
re: UI中包裹物品排序[未登录] 杨粼波 2010-12-19 11:13
classyk说的对,STL里面有自己实现快排,效率不成问题,而且以包裹如此小的数据规模而言,绰绰有余.

对于防止多次排序,是有很好的办法的.
你设置一个"可以排序标识符"比如:m_bCanSortBag,
排完序以后,你就设置为false.如果,包裹有变化,你设置为true.
客户端做一次判定,服务器端再做一次判定,就可以很好的处理了.
re: 女人完美性生活十大原则 杨粼波 2010-09-25 06:04
--!这都被你翻出来了.
是的呢,我也只是用了部分的技巧……
--!N年没有用过php了,
而且现在C++我其实也是用的VS,通过samba操作。
你知道setlocale这个方法的代价有多大么?会带来什么影响么?
boost::function和boost::bind的使用也是有代价的,
所以,在设计的时候,需要仔细的考量。

vptr虽然也有代价,也不能说一棒子打死的,虽然继承会产生隐性的耦合,不过在很多场景里面,它是具有它的存在的价值的。

耦合,也并非全然是坏事情。“低耦合”并非是“没耦合”。
接口,就是创建了一个限制,一个规则。人类社会中,人类不可能脱离限制,脱离规则,那么就是一个混乱的世界。同样,程序的世界也不可能说没有限制,没有规则。

Runnable的设计实际上是非常合理的设计,意图明显,结构清晰。
在一个复杂的项目里面,结构清晰,意图明显,那真是再好不过的东西了。
我想我应该把我中学母校的口号拿出来,与大家共勉:
今日我以校为荣,明日校以我为荣。
我是三流的三流大学毕业的,以我中学母校而言,我进去这样的大学,母校该为我蒙羞了,要知道我毕业的那所中学,每年都有至少十几个名牌大学产出,至少一半以上学生都是重本。

不管怎样,做好最好的自己,三流大学毕业生不可耻,而是做一个三流的自己最可耻。
嗯....
其实,我以前有些烂东西发到主页,
也是被撤掉过的.
re: “三流学校的学生又来了” 杨粼波 2010-08-25 18:14
都好愤青呀.....
不是的哦。
我就用的POSIX的,用POSIX的还好吧……

LZ虽然封装得不是很好,不过至少也是一个学习过程。
re: Quick notes on how to use RapidXML 杨粼波 2010-08-23 20:49
不明白……
还好,比起doxygen,还是很难用的。
支持的标签还很少,
比如@file @virsion 等等……
需要自己扩展一下才行。

不过,有比没有好呀。。。。
re: UE的LUA注释的代码染色问题 杨粼波 2010-07-06 23:24
UEStudio用着还可以,
支持类图,还有方法列表.
总的来说用着还可以....
当然,运行调试貌似有点麻烦.
稳妥来说,当然是能不动它里面的东西了.
我是无所谓,这玩意对我来说太透明了.
HGE那种简单得发慌的东西,
都被我拆得零零碎碎,
杂七杂八的.
我闲的发慌,哈哈哈.....
--!啥?
我这里还有一个Linux的简单TCP服务器客户端:
http://www.cppblog.com/tx7do/articles/5966.html
第二种算法,至少要少访问链表的节点m-1次.
可以直接去profile获取直观的时间损耗.
我把两种算法都放出来了,
这个一比较就很明白了.
第一个算法,需要循环链表两次.
第二个算法,只需要循环链表一次就足够了.

另外附上遍历的概念解释:
所谓遍历(Traversal)是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。访问结点所做的操作依赖于具体的应用问题。
re: C++程序中嵌入Ruby脚本系统 杨粼波 2010-06-09 14:01
中国急需要性教育,哈哈哈.....
--!这样子?
汗,是我不解风情了?
呃.....
--!这也不是扭曲自己的设计.
因为如果一个东西是给人用的,那接口简单明了就OK了.
但是要是分解其原理,
那就不必要做复杂了.
因为接口本身就是为了屏蔽复杂,
而我现在就是要展示接口背后的东西,
显然的需要化复杂为简单了^_^
这个类只是用来验证和讲解用的,
没有必要做那么复杂的设计,那是会让人阅读上有些困难的.
任何东西并不是一味的复杂就是好的.
re: 盖莫游戏引擎-GUI-消息系统 杨粼波 2010-06-08 21:52
用boost::signal足矣.
呵呵,我也是做的面试题.
还是这个算法比较符合我的理想中的美学.
@R
的确,这块代码算起来的确是遍历了两遍.
其实在空间上还可以节省掉一个临时变量的,那就是pFind,可以利用pHead,不过这样的话,阅读起来就会让人误解.
re: CEGUI的事件系统分析 杨粼波 2010-06-02 10:53
用EA(Enterprise Architect 7.5)画的.
re: 回忆 杨粼波 2010-06-02 10:12
@saltyshrimp
嘿嘿,谢谢.是不是要唱一曲:广州欢迎你?

@碧宁
主要是咱这行业太却稳定性了.
re: 如何在linux下检测内存泄漏 杨粼波 2010-03-18 14:40
汗,好多年了……
我都忘记了是从哪里转载到的。
我刚才搜索到原文,
发现竟然和原文都不符。
现在已经补上相关信息。
共6页: 1 2 3 4 5 6