摘要:话接上一回,Sumtec带着他写好了的那些代码,以及没有完成想法,还有那一块Frank和Sumtec都写了东西的白板,去找Jack了……
阅读全文
随笔分类 - .NET 技术内幕
一些比较核心的内容
摘要:前一阵子吕震宇先生为我们创作了一系列的华容道游戏解题程序设计,里面的内容很精彩,尤其是算法性能方面给与我们很深刻的印象。我因此也禁不住诱惑,也像参和一下。不过我并不打算从算法的角度做更多的讨论,我要讨论的可能是另外一个角度,也许算是从程序结构方面的讨论。当然,我的想法也许还不是很成熟,有错误之处欢迎指正。
阅读全文
摘要:对不起!从即刻起暂停发放申请(因为可以邀请的数量已接近枯竭)。10月10日 10:10:10不知道是不是所有人现在都突然有50个邀请了,反正我是在年前的时候突然多出来这么多邀请,难道Gmail的邀请要不值钱了? 别人如何我不清楚,反正是一天之内突然蹦出来的,我还以为是出错了。经过多天观察,确认是真实稳定存在的事实。 好,废话不多说了,需要的赶紧给我发个邮件吧:sumtec@gmail.com ...
阅读全文
摘要:最近一个字——忙啊…… 最近我有4件事情可以忙:1、被某公司借调去帮忙完成一个POC项目;2、准备翻译某本书,先要做试译;3、继续关心公司的项目;4、准备回家。今天只聊技术,所以只准备说说第一件事情。 在最近帮忙做的POC项目里面,我负责的是mobile方面的事情,原因很简单:1、我们公司现在做的就是smart phone上面.net cf开发的;2、我在这方面做了很长时间的工作了;3、JGT...
阅读全文
摘要:好久没有上来写点什么东西了,也有一段时间没有到博客堂拨客园上面来采风了,今天一上来就看到这个文章: 数据类型的BUG还是??? 里面罗列了一些问题,也许我能略解一二。比如说问题二: dim ss as double ss = 400*1000 在VB6中,报越界!! ss = 400*100000没有异常 其实是这样的,VB6里面对于常数,如果没有带数据类型标志符(例如#...
阅读全文
摘要:今天看到朋友wayfarer写的一篇文章,大概是关于protected的“保护性”问题的,看过之后内心有些想法想与大家分享,如果大家不嫌弃,敬请往下看。
拍脑壳所想之
——戏言面向对象
本Post分为六个片段:
I.公元前
II.创世纪
III.改革开放
IV.回顾历史
V.封装保护的是什么
VI.回到未来
阅读全文
摘要:一个强制转换快还是ToString快,搞得我晕头转向的。以为OK了出结果了,却出现奇怪的情况,还好,总算是山穷水尽(复,李敖说的)疑无路,柳暗花明又一村。一开始,我想大家都跟我猜想的一样,认为ToString比较慢,而且还有危险。结果一开始我的试验结果跟我的猜测比较吻合,ToString比强制转换要慢一个级别,不同的机子上面会有不同的结果,在10:1到6:1之间。但是后来有人说在Console下面...
阅读全文
摘要:刚刚发完上一篇Post,在cnblogs上面msolap就提出了Console下面结果相反的情况,继而有人用实验证实了这一结果。我立刻稍微实验了一下,发现果然如此,更进一步的发现了一些不可思议的事情。事实上我在另一台机器上面做了一个完全相同的Console实验(一台普通的P4 1.8G 768MB Ram),在VS2k3里面的Debug模式就得到了反转的结果——ToString比强制转换要快,虽然...
阅读全文
摘要:首先先说一句不好意思,昨天的Post里面忘了给大家介绍一个基本的前提:那个object o 里面的数据我可以确保它是string类型,也只可能是string类型。这一个研究并不是完全没有意义的,虽然在我实验之前确实也认为应该是强制转换的速度快,但是没有实际的比较问题还是比较难以说明的。也许有人就会问了,你凭什么认为object o里面的就是string呢?不好意思,这是我限定的条件,并且是有实际被...
阅读全文
摘要:假设我有一个object类型的变量o,需要转化成string类型的变量s。那么请问下列方式当中的那一个方案更加有效率:1、 s = (string) o;2、 s = o.ToString();相关提示:1、(string) 强制转换对应一句IL语句castclass,在IL中大概表现为: L_0019: ldloc.0 L_001a: castclass string ...
阅读全文
摘要:今天在做一个实验,突然发现一个不寻常的地方:VS2k5 C# 在编译for循环的时候,IL代码跟以前的方式不一样: L_0029: ldloc.1 L_002a: ldc.i4 100000000 L_002f: clt L_0031: stloc.s flag1 L_0033: ldloc.s flag1 L_0035: brtru...
阅读全文
摘要:前一段时间mvm写了一个记录键盘敲击情况的程序,Post里面提到有两个特殊的全局钩子可以在.NET里面钩上。今天终于有幸把mvm的程序下载下来,然后偷偷的用Reflector去翻看了一下。哦,原来说的是SetWindowsHookEx这个东西,之前没有认真看Post……然后我就查了一下这个函数,不查不要紧,查了之后发现这里面有一张表: Hook Scope WH_CALLWNDPROC T...
阅读全文
摘要:我们先来看看展波举的例子:http://blog.joycode.com/zhanbos/archive/2004/10/26/36605.aspx在这个例子里面我们看到,编译器会检查scope问题,目的是防止错误使用本地变量。但是据我研究,这里面有“Bug”(注意双引号),那么会有什么有趣的“Bug”呢?我来给大家一个简单的例子: public void Test() ...
阅读全文
摘要:前一段时间看到博客堂上面的mvm用纯.NET写了一个有趣的程序,用来记录敲击键盘次数,当时就非常感兴趣。不过可惜这边的破烂蓝波速度质量奇差,当时网络时断时续无法下载,后来有机会下载了,却连接失效了。所以一直就没有机会看看原程序,家伙都准备好了——Refactor,既然mvm都说了可以disassemble……可惜啊可惜,后来就一直没有关注了。今天晚上发飚,突然想起来mvm说我介绍的这个代码着色器有...
阅读全文
摘要:原来 Terrarium 1.2 已经发布了,而且还是几个月之前的事情了……具体可以到这里下载: http://www.terrariumgame.net不过目前只有Client版本,Server版本没有发布。之前听说连同源代码发布,结果还是没有发布,看来还要等上一段时间了。着一个版本还不是TerrariumII,至少并没有太多大的改进。唯一一个比较大的改进,我觉得就是终于实现了很久以前就计划的“...
阅读全文
摘要:简单异或实际上是非常的危险的,这个知识是在书上看到的。最近跟某位朋友进行了这方面的争论,因此我突然对这个问题非常感兴趣。其实之前我也没有任何密码学分析的经验,更没有写过相关的程序。今天也就花了一天的时间,就把整个破解程序给写出来了。这个是那位朋友提出来的算法的核心: char g_szSeed[5/**//*26*/] = { 'a', 'b', 'c' ,'1', '2', }; BOOL C...
阅读全文
摘要:很多时候,我们希望对用户输入的文字进行即时的分析,并对部分文字的字体颜色进行修改,让那些文字更加醒目。如果说要对部分的文字进行字体颜色的修改,我们很可能就会想到使用RichTextBox这个控件,因为这个控件至少能够让部分文字的字体颜色变得和其他部分不一样。然而实际上对于现实静态的东西,RichTextBox也许是适合的,但是对于想这种的“动态着色”则不见得有效率。最为头痛的一个问题就是,通过Se...
阅读全文
摘要:在blog.joycode.com里面,Ninputer就问我这个是干什么的。实际上很多人都问过我这个问题,甚至dudu也问过,甚至还有人因此对这个东西有误会。这个怪我,没有说清楚。今天我就来给大家说明白这个事情。这个NfaGen2是用来产生复杂正则表达式的,比如如果我在NfaGen2里面这么写:ws:\s#_SemiColon:;#_IdHead:a-zA-Z_#_IdTail:0-9_Id:T...
阅读全文
摘要:
详情点击察看...
阅读全文

摘要:这个Post只是预告一下“吊胃口V”可能发布的内容,是一个预告。首先发扬一下吊胃口的精神,给大家看看目前NfaGen的工作成果:上面这个图是NfaGen2的雏形,上面的代码着色是程序自动完成的。不过目前着色也没有完全昨晚,比如定义后面部分的字符就没有进行着色。目前NfaGen2的语法分析用的正则表达式基本上已经稳定下来了,一般来说错误已经很少了,但是还有一些已知的错误存在,也有一些不足的地方需要调...
阅读全文