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

2014年6月6日

摘要: 默认情况下,如果嵌入本地Web页面,并在页面内部使用iframe来显示一个在线页面,加载的过程中会触发一个未捕获异常,虚函数CefV8ContextHandler::OnUncaughtException被调用,如果搞个控制台窗口来输出异常消息,或者将消息打印到日志中,会是这样:Unsafe Jav... 阅读全文

posted @ 2014-06-06 23:28 单鱼游弋 阅读(14204) 评论(5) 推荐(0) 编辑

2014年5月20日

摘要: 已经使用CEF来呈现桌面程序界面大半年了,从来没有写过相关博文。发现网上的中文资料甚至英文已经无法满足我的开发需求,不少问题只得自己探索。在此先谢过网络上各位CEF使用开发博文的贡献者,没有你们我也难易快速入手。实在惭愧,由于精力有限,自己捣鼓出来的东西一直没有贡献出来。好吧,从今天开始,面朝大海,... 阅读全文

posted @ 2014-05-20 12:50 单鱼游弋 阅读(5900) 评论(4) 推荐(0) 编辑

2014年4月27日

摘要: 离回归程序猿行列已经一年又一个月整了,也就是进入现在这家公司已经一年又一个月整。确实是个整数,清清楚楚的记得去年入职时间是3月27日,似乎冥冥中总有那么些凑巧的事情发生。现在的公司是一家创业型公司,接受过一轮风投,从创办至今,时间其实不算短。今年是公司非常关键的一年,总觉得年初至今的项目目标不够明确... 阅读全文

posted @ 2014-04-27 23:36 单鱼游弋 阅读(1004) 评论(0) 推荐(1) 编辑

2014年4月25日

摘要: 88年的人,接触PC十几年。第一次真正开始学习PC是在小学四年级的电脑兴趣班上,那时候好多事情还历历在目。那些年,神秘的DOS,向里面输入一些自己都不懂得命令,出现的场景让一个少年内心砰砰直跳。一个"win"命令,居然进入图形化操作界面——最初的Windows3.x,一个运行在DOS之上的伪操作系统... 阅读全文

posted @ 2014-04-25 14:17 单鱼游弋 阅读(339) 评论(0) 推荐(0) 编辑

2014年4月13日

摘要: 12年7月的时候脱离了程序猿这个圈子,原本以为那是永别。到13年初,期间经历了人生种种,内心的煎熬,人性的考验,最终决定重回老本行。离回归已经一年过去了,觉得还是程序猿这个圈子比较单纯,比较适合我自己。话说年轻在于折腾,也真折腾了一番,其实还是有颗不安分的心,不过这辈子注定与IT结缘。已经好久没有回... 阅读全文

posted @ 2014-04-13 20:36 单鱼游弋 阅读(218) 评论(2) 推荐(0) 编辑

2012年6月1日

摘要: 进入IT行业,等于在无形之中进入了一个高压力、高需求、低满足的行业圈中。压力那么大,主观快乐却那么的少,并且主观快乐会随着从业时间的推移而不断减少。在身体健康之外,IT从业者的心理健康已经成为了关注焦点。到底IT从业者们的心理面临着怎样的挑战呢?韩青已经第三次走进心理咨询室了,可是他仍然无法完整的表达他的痛苦,不管怎样引导他,他也只能问一句答一句,多说一点儿,他就会不知如何回答,而他反复表达的意思就只有一个:他已经快要32岁了,工作太忙,没时间恋爱,还没有结婚,事业无所谓上升与否,看不到未来,觉得生活实在无聊,无聊到活着都觉得费劲了。作为一名工作了7年的资深程序设计员,韩青面临着人生各种需求的 阅读全文

posted @ 2012-06-01 00:41 单鱼游弋 阅读(406) 评论(0) 推荐(0) 编辑

2012年5月14日

摘要: 1、查看mac的版本号:首先打开终端 应用程序 –> 实用工具 –> 终端然后输入以下命令 more /System/Library/CoreServices/SystemVersion.plist<?xml version=”1.0″ encoding=”UTF-8″?><!DOCTYPE plist PUBLIC “-//Apple//DTD PLIST 1.0//EN” “http://www.apple.com/DTDs/PropertyList-1.0.dtd”><plist version=”1.0″><dict>< 阅读全文

posted @ 2012-05-14 13:34 单鱼游弋 阅读(1547) 评论(0) 推荐(0) 编辑

2012年4月17日

摘要: 项目经过长期多人的维护,所谓人多手杂,出现不少过多过长的switch-case分支,或者多重switch-case嵌套。每每添加功能,我都会紧皱眉头,然后带着罪恶感向已经成百上千行的函数里再添上一个case分支,然后纠结地收工了事。于是乎,在我的内心深处,switch-case俨然成了代码坏味道的代名词,写代码时总小心翼翼地避开它们,可往往又事与愿违。事实上,switch-case语句并不是代码坏味道的根源,坏味道来自糟糕的结构设计,过多的switch-case分支,多重switch-case嵌套,这些都将导致代码可读性下降,维护困难易出错。对于分支有多又长的switch-case分支,可是使 阅读全文

posted @ 2012-04-17 17:37 单鱼游弋 阅读(4209) 评论(0) 推荐(0) 编辑

2012年4月12日

摘要: 我想这是VC编译器的一个Bug,头文件的包含顺序不该导致运行时产生异常。在VS2008和VC6中都存在同样的问题,但是在C-Free(使用gcc编译器)则一切正常。下面是在VC中产生异常的示例代码,请注意下头文件的包含顺序。定义两个类ClassA和ClassB,在ClassB中定义了一个ClassA的成员函数指针,在ClassB.h中前置声明了ClassA。//// ClassA.h//class ClassA{public: void Func(void) {} void TestA(void);};//// ClassB.h//// 前置声明 ClassAclass ClassA;type 阅读全文

posted @ 2012-04-12 15:26 单鱼游弋 阅读(1222) 评论(0) 推荐(0) 编辑

2012年4月11日

摘要: 在C++编程中,成员函数指针并不常用,并且由于它实现比较复杂,很容易导致编程错误。基本用法:classB{public:intf(inta,intb){return(a+b)*m_c;}intm_c;};intmain(){typedefint(B::*MEM_FUNC)(int,int);//定义成员函数指针类型MEM_FUNCMEM_FUNCpmf;//定义成员函数指针pmfpmf=NULL;//指针可以设置为NULLpmf=&B::f;//指针可以指向一个成员函数Bb1,b2;b1.m_c=10;b2.m_c=20;inti1=(b1.*pmf)(30,40);//调用b1.f( 阅读全文

posted @ 2012-04-11 09:29 单鱼游弋 阅读(1159) 评论(0) 推荐(0) 编辑

2012年3月26日

摘要: vs本身就有语法高量功能,再加上va的加强,应该说对于代码正文程序结构脉络已经很清晰了!但你是否有这样的困扰,当处理一个比较大的项目的时候,常常会在冗长的代码里迷失方向!刚刚修改哪了,断点跑哪里去了。。。你说可以加标签,但这个标签是针对一个解决方案的,有些时候标签一多,都不知道哪个对应哪个了~所以标签我多用来在不同的源文件中跳转!而我们需要的是一个能标记当前编辑源码的~ 今天无意中在网上看到了metalscroll,感觉正好满足了我的需求~好东西也要推荐给大家! metalscroll是个很轻量级的VS插件(比RockScroll更强大),它把Visual Studio 中代码编辑器右边的滚. 阅读全文

posted @ 2012-03-26 09:43 单鱼游弋 阅读(2274) 评论(1) 推荐(1) 编辑

2012年3月24日

摘要: 严防程序模块间通过结构体间接传递STL实例对象经常的,我们通过结构体向函数传递参数。原则上,不应在结构体中包含非POD成员。[引用]===========================================================================POD, plain old data 的缩写,一个普通的古老的数据结构(POD)是一种数据结构。它仅作为被动的收藏的字段值,不使用封包或者otherobject-oriented特征。(A plain old data structure(POD) is a data structurethat is repres 阅读全文

posted @ 2012-03-24 21:48 单鱼游弋 阅读(797) 评论(0) 推荐(0) 编辑

摘要: 捕获数学函数异常假如我们要用一个数学函数,比如反正弦函数asin(x),如果变元x的值是由用户提供或某个中间结果,则在调用时必须判断其取值范围是合理,是否满|x|<=1?即if(fabs(x)<=1) y=asin(x);else y=…对数函数也可作类似的处理。但是如果遇到幂函数pow(x,y)时,问题就不那么简单了。仔细分析将发现: YX负小数负整数0整数小数负小数无意义有意义有意义有意义无意义负整数无意义有意义有意义有意义无意义0无意义无意义有意义有意义有意义整数有意义有意义有意义有意义有意义小数有意义有意义有意义有意义有意义例如:pow(-1.2,-1.2)=-1.#IND 阅读全文

posted @ 2012-03-24 21:42 单鱼游弋 阅读(391) 评论(0) 推荐(0) 编辑

2012年2月4日

摘要: 翻译:wavow 作者:chris crawford ———————————————————————————————————————— 作者简介:Chris Crawford是计算机游戏设计界的元老,至今已经设计、发布了14款值得称道的游戏。 ———————————————————————————————————————— 阿,我年轻的朋友们,你们想成为游戏设计师,所以来问我有何好建议?我会给你们我最好的建议,但我猜想你们可能会听不进去。你们可能更愿意听那些说你们爱听的话的人所提供的建议。但这对我来说无所谓,我所能做的就是说些实事,并希望能进入某些人的耳朵里。 首先,你们应该对自... 阅读全文

posted @ 2012-02-04 23:38 单鱼游弋 阅读(451) 评论(1) 推荐(0) 编辑

2012年2月3日

摘要: 今天编译了一段程序,运行的时候崩溃了,下断点查看了下崩溃的地方,发现问题出在使用传指针方式向线程传递局部变量。问题代码大致如下:void CStrLenCheckDlg::OnOK(){ THREADINFO info; // 局部变量 info.pDlg = this; info.strFileName = m_strFileName; // 以传指针方式传递局部变量 info 给线程函数 AfxBeginThread(ThreadFunc, &info);}UINT ThreadFunc(LPVOID lpParam){ THREADINFO* p... 阅读全文

posted @ 2012-02-03 11:28 单鱼游弋 阅读(4540) 评论(0) 推荐(2) 编辑

2012年1月19日

摘要: 用vc++写console程序时,整天对着黑纸白字的屏幕,感觉很郁闷吧?很多人想用CONIO.H/GRAPHICS.H中的一些函数来实现,却发现VC++根本没有这些头文件。当然了CONIO.H/GRAPHICS.H是BORLAND TC/BC专有的头文件,所以vc++中根本没有这些文件。把这两个头文件COPY过来,然后用??答案当然是否定的。其实VC++中也有相关的函数来实现console彩色文本及背景的显示。下面我们就看看VC++如何实现彩色文本。 在vc++用API函数GetStdHandle()和SetConsoleTextAttribute()来实现彩色背景及彩色文本。下面说一下... 阅读全文

posted @ 2012-01-19 14:11 单鱼游弋 阅读(589) 评论(0) 推荐(0) 编辑

摘要: 谈到优化,很多人都会直接想到汇编。难道优化只能在汇编层次吗?当然不是,C++层次一样可以作代码优化,其中有些常常是意想不到的。在C++层次进行优化,比在汇编层次优化具有更好的移植性,应该是优化中的首选做法。1 确定浮点型变量和表达式是 float 型为了让编译器产生更好的代码(比如说产生3DNow! 或SSE指令的代码),必须确定浮点型变量和表达式是 float 型的。要特别注意的是,以 "F" 或 "f" 为后缀(比如:3.14f)的浮点常量才是 float 型,否则默认是 double 型。为了避免 float 型参数自动转化为 double,请在函 阅读全文

posted @ 2012-01-19 13:55 单鱼游弋 阅读(10650) 评论(0) 推荐(2) 编辑

摘要: 外挂、木马和私服一直网络游戏的三大死敌。一个不小心被任意一个家伙打倒,一款好好的网络游戏就全毁了。 在这里我要讲一下防外挂和防木马的一个通用解决方案,希望能解决大多数的外挂和木马问题。从原理上看,也可以用于防私服,具体是否可行,请大家斟酌。这个方案受到了传奇的反外挂方案的启发,在这里对盛大表达感谢。 该方案包括“两点一线”。其中一个“点”是侦测代码,检查外挂和木马是否存在,有点象个“侦察员”。另一个“点”是攻击代码,可以抓玩家进监狱,也可以通知玩家修改密码,有点象个“狙击手”。一条“线”是指发现外挂或木马的信息要安全的从侦察员传到狙击手那里,有点象“电话线”。下面我分别介绍这“两点一线”的设计 阅读全文

posted @ 2012-01-19 11:30 单鱼游弋 阅读(1048) 评论(0) 推荐(0) 编辑

摘要: 遇到VC无法设断点的时候,可以尝试如下3种方法:1、直接在菜单Build里面执行Rebuild All,一般能解决问题。2、在项目属性中,C∕C++的General,将debug info设置为Program Databse for Ddit& Continue ;删除所有的断点,重新下断点。3、对于VS2008可以尝试:Tools->Option->debugging->General 右边找到Require source files to exactly match the original version 把前面的勾去掉。4、对于VS2008上将LIB改造成DL 阅读全文

posted @ 2012-01-19 10:18 单鱼游弋 阅读(1659) 评论(0) 推荐(0) 编辑

2012年1月18日

摘要: 在使用std::vector的过程中,编译器报了如下的warning:c:/program files/vc98/include/vector(61) : warning C4786: '??0?$vector@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@QAE@PBV?$basic_string@DU?$char_traits@D@std@ 阅读全文

posted @ 2012-01-18 12:38 单鱼游弋 阅读(426) 评论(0) 推荐(0) 编辑