-
crash report
以前对这方面没有多少关注,只是偶然看到LuaEdit用了个叫madExcept的库,可以让Delphi程序在运行时如果崩溃了弹出个看起来比较牛的对话框,显示一些当前进程和当前系统的相关信息,并可以让用户选择是否将这份报告通过email发送回开发者。当时很好奇这是怎么做到的,很希望在自己的程序中也集成进这个功能,但很遗憾地发现,这个库只适用于Delphi,而我偏偏就不是用Delphi的。 后来,偶然,没错,以是偶然,看到公司网上有人说FileZilla有一部分这种代码,于是找来看了看,...…
-
CodeLite源码阅读
今天看了一段CodeLite的源代码,很小一段,从app开始看,到Frame。因为想学习使用wxWidgets,阅读现成产品的代码一种比较有效的方法。我并不知道到底有哪些程序是用wxWidgets的,到目前为止了解到的有FileZilla和Code::Blocks,以及这个CodeLite。 学习的主要目标是掌握如何创建各种类型的窗体,如果为窗体设置消息响应。如果在绝大多数情况下,都能比较快速熟练地解决这两个问题,那么基本上可以认为算是会用这个库了。 wxWidgets的处理形式跟...…
-
《C++网络编程》
心血来潮地翻出照例买来即束之高阁的《C++网络编程》,尘封不止一年了,只记得还是在测试组时买的,而且确实连目录和序都没看过,汗! 这次也是因为项目里用到了ACE,看了一点《ACE程序员指南》(所谓的红宝书)中关于reactor中的一点内容,似乎勉勉强强可以凑出一个能用的系统了。才偶然想起,仅有的3本讲述ACE的翻译成中文的书我都有了。拿出这卷1和卷2,发现封面都泛黄了,这日子过得还真是让人哭笑不得! 不负责任地说一句,这两卷《C++网络编程》其实是套讲设计的书。书中以网络编程这个话...…
-
《软件调试》
从china-pub上买了本《软件调试》,厚达1000多页的大砖头。开始拿到的前面有8页是空白,到china-pub上去说了一下,该书的责任编辑通过email跟我协商,最后又快递了一本正常的过来,我再把有问题的那本快递给她,如此服务质量,也让人称心满意了。 难得原作者用中文写成,这样就可以让我们中文读者第一时间可以读到如此重量级如此深度的精品专著。 该书从CPU(Intel x86系)对软件调试的支持、操作系统(Windows)对软件调试的支持、编译器(MS VC)对软件调试的支持...…
-
ACE还算好用
照着红宝书上讲的,用ACE写了TCP的服务器端和客户端进行文件传输,代码量真的很少,而且可读性也很好,虽然没经过测试,但我自以为应该不会有多少问题了。 ACE还算好用,呵呵。既然这样,以后就考虑一直用ACE来做这方面的应用了,又能满足我跨平台的需求。 另外,我还是想建一个图形库,像visio/rose那样的功能,也许功能没有那么强大,但是效果就是朝那个方向发展。…
-
引入ACE
经过小小的思想斗争,最后我终于决定引入ACE,这个颇具盛名的跨平台网络库。犹豫是因为2个原因,一是我本来没有使用ACE的经验,如果在使用过程中遇到问题也没有求助途径,另一是以前在网上看到过有人说ACE跟MFC配合使用时会有内存泄漏的问题。 但是想了想,如果直接使用socket来写的话,开发效率更低,需要编写的代码更多,更容易出错。之前也是用了boost::asio,大概是因为没用好,反正不但代码写得难看,也没有能照预料中的那样正常工作。 同事在一个小程序中使用了ACE,虽然他用的是...…
-
期待一个合法的强大的IDE
虽然打算使用MinGW+wxWidgets来写程序,似乎是可以抛弃VC+MFC或者BCB+VCL这类商业软件了,但是,实际上我发现我根本离不了VC,主要是离不了VAX,这个超级好用超级变态强悍的VC助手。 早先的时候,只用到VAX的智能联想提示功能和跳转到定义或声明的功能,自从看了Martin Fowler的《重构》,VAX的诸多重构功能也成了我目前最常用的功能,日常工作写代码,离了它简直痛不欲生。 写代码最好用的是VC+VAX,但看代码最好用的,个人感觉还是Source Insi...…
-
九选三,pass!
周五的时候才知道,原来我报的是6月30日的考试,一直都以为是7月10日的,所以一直都不怎么着急,还觉得练车次数太频繁,殊不知是30日。周六吃过中饭,正在睡午觉,教练还打电话叫我下午去练一下车,我说不行,要5点半才下班,然后拖到周日上午。今天又是6点半就起了床,匆匆赶到训练场,跟江江一起练了一个半小时,单边桥的我老是右边上不去,教练说不要紧。 说好11点集合,还有2个小时空闲,于是无所事事地到百草园去,江江趁这个空隙跑去体检了,我就只好无聊地看看网页,偶然发现blogger又解封了,像...…
-
如何利用机器资源
今天突然发现,我在公司里有使用权的机器有好几台了,除了本来一直在用的,从进部门开始就配备的那台联想台式机外,还有一台2001年的老爷机,一台双核2G内存的工作站,一台双核双至强1G内存的IBM服务器,还有一台双核2G内存的服务器。这么多可用资源,现在却发挥不出作用,对工作没有什么帮助,实在让人觉得可惜。 但是如何利用这些机器资源呢?我确实也想不出好的点子来。可以建些版本控制、数据库、HTTP之类的服务,但还是大材小用。隐隐约约脑中一个概念闪现——分布式计算!可是现在分布式计算能大众化...…
-
Side by Side Again
昨天随口给一个同事讲了一下怎么部署用VC2005生成的应用程序,才能解决因为先进的Side by Side技术引起的应用程序配置问题。其实我自己也是半生不熟,没有掌握到真正的精髓。今天那个同事就给我打电话,说还是没有解决这个问题。于是我就亲自出马,上午搞了半个小时,还是没搞定。于是看我原来用VC2008写的WallpaperHelper怎么弄的,以及人家的Edraw是怎么弄的。一点一点凑,最后发现那个么临界点,只要先到VC安装目录下有个redist目录,里面能找到发布用的dll和配套的...…
-
升级到Firefox3
话说本来6月17日就是FF3发布的日子,不过由于时差等因素,昨天一直没等到它的发布,于是只好等到今天。回到家迫不及待地下载安装,然后把需要的扩展也跟着升级,对于一些没有对应版本的扩展,只好再上mozilla的网站找替代器,忙乎了一阵子。 媒体传闻得沸沸扬扬,说得悬乎神技地,但我用了一个多小时后,感觉也没多少值得表扬的。比较明显的改进是,内存占用确实比以前小了,可能只有原来的2/3或1/2吧。另外一个比较明显的修改是所谓的Awesome bar,就那花里糊哨的地址栏,也许是我还没用出来...…
-
专心做一体化平台了
看了他们整理了有十几条新的需求,另外bug也确实不少,跑去请示了一下老大的意见,是要认真到这个东西做下去喽。既然这样,就暂时放下编辑器和扩展框架的事了,计划一下如何把这个东东做好点。原来的有些设计是不合理的,在时间充裕的条件下,是肯定有更好的解决方案可以替代的。 如果真要专心做这个东西,有两点是可以很大优化的。一个是图形库,整出一个像edraw样效果出来,让该死的Excel见鬼去吧。另一个是分布式文件共享,看了Kademlia的一些介绍,不禁有点蠢蠢欲动,如果自己能实现一个通用性好的...…
-
考倒桩
考倒桩去了,有两次机会,第一次在最后倒车时,右边的观后镜刮到桩了,第二次就提前打方向盘了,有惊无险,呼呼,困死我了。…
-
音频播放器小比拼
如果在goolge(不是“谷歌”)中搜索关键字“音乐播放器”,排在第一位的,赫然是千千静听,第二位提QQ音乐,第四位是Kugoo,如果搜索关键字“音频播放器”,则出现的是foobar2000,而前3位则连影都没有。这一方面似乎可以看出,中国大陆用户对此类软件的偏好和定位。 因为前些天看到Kademlia的介绍,想到可以结合着做一个不需要服务器的P2P音频共享播放软件,于是偶然关注了一下现在国内流行的此类翘楚。就个人感觉,最专业的还是foobar2000,虽然它的默认界面非常简陋,没有...…
-
似乎中毒了
唉,回到家照往常一样打开电脑,发现explorer.exe是起来了,但界面没出来,倒是弹出个出错消息框,说是哪个进程不正常,看这名字就感觉不是正常的。等了老半天,没耐心了,重启系统,倒是能像平常一样进来了。偶然发现system32目录下有好几个奇怪的文件名诸如oooooo.dll、ffffff.dll之类的文件,而且会自动注入到其他进程中去。windows目录下也有几个文件名很怪的.exe文件,还都放到了系统启动项中了! 似乎中毒了!真烦人啊,编译个wxWidgets也是没完没了了,...…