按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
等待的日子是辛苦的,终于有一天,周总说:“小刘啊,今天咱们一起去XXX医院,先把软件全部装上去,他们的机器已经到位了。小绝,这次你就不用去了,在家多休息休息。”
这正是BOSS Liu期待的。他忙接着说:“就是就是,绝影你回家好好休息吧,这次我去,应该没什么问题。”
绝影回到家,没想到燕儿今天也来了。本来他们还没放假,这边离学校又远,她平时就难得来一趟,这次来还顺便买了菜正在做饭,在这种情况下,最浪漫的事莫过于从后面搂着她的腰说:“亲爱的,你辛苦了。”可绝影偏偏不懂浪漫,wωw奇Qisuu書网他心里惦记着KIPACS的安装要领不知道BOSS Liu听进去没有。当时本来想给他写个文档,BOSS Liu觉得太浪费时间,给他说了几句要点,他又一直在那里摆弄KIREGIS也不知道他听没听,反正他最后是拍着胸口给绝影打了保票。
吃完饭,他对燕儿说:“今天公司去安装软件,我忙了这么久,周总让我今天早点回来休息,估计现在他和BOSS Liu还在医院呢。今天在家我不用工作了,好好陪陪你。”话刚说完,绝影最担心的事情便发生了。周总电话打过来,说:“KIPACS测试好了吗?怎么在这边视频出不来呢?”
绝影一听就急了,KIPACS捕捉视频是绝对没问题的,肯定是他们在安装上出了什么问题,他又耐心地跟周总讲了一遍装要领:要把 “bin”目录中的东西拷贝到安装目录,然后运行regist。bat注册采集卡和报告格式的ocx,再安装采集卡驱动,然后在DSN中添加一个KIPACS数据源,驱动程序为“MS Access”,文件指向“DB”目录中的KIPACS。mdb。说完了,他小心翼翼地试探道:“要不我来一趟吧。”
“嗯,你还是来一趟把,打车过来。”
一听周总这么说绝影气得要死。你早想要自己来那我讲那么多要领有个屁用啊。要不你就直接让我来一趟,要不你听了要领自己在安装一次,不行再让我来。这就好比明明路标上已经标明“解除60公里速度限制”,你开到70公里,交警刷刷就是一张罚单。你下车来指着标志耐心地说:“警察同志,已经解除60公里限制了呀。”那交警点点头若有所思地说:“是呀。你说得很对呢。”他这么说你以为OK没事了刚要转身上车,可他话锋一转:“可是罚单都已经开了。下次吧,下次不罚你了。”那有屁用啊,下次,下次我超速的时候你都不知道哪去了。
燕儿听到他们的电话,对绝影说:“你还是去吧,早点去早点回来,都已经十点了。下次再陪我。”
于是他满怀对燕儿的愧疚打车去了医院。果然是安装的问题,最早的KIPACS用的SDK2000采集卡,但那东西效果实在太差,这次医院的要求要高一些,于是换成了SDK3000。为了这次更换绝影还专门重写了于采集卡相关的代码,原来那个程序员用的ocx开发,搞得像VB,这是他最忌讳的,于是他全部改成了API调用。没想到BOSS Liu聪明一世糊涂一时,偏偏去装个SDK2000的驱动程序。驱动没装对,视频出不来,两人又怪绝影的程序没写好。对他们来说这是个小小的问题,绝影两分钟就可以解决,可就这么一个小小的问题却要绝影大半夜打车10公里跑到医院来。对绝影来说,平常大半夜打车10公里来解决这个小小的问题也是小小的问题,可今天,燕儿还在家里等着自己,对他来说,这就是大事。他们永远不能理解这事对他来说有多大。
换个驱动,KIPACS果然如在公司测试环境中一样流畅地运行起来。绝影拍拍BOSS Liu的肩说:“小伙子,下次注意点!”这话的言外之意是:“出这个问题责任不在我,在你。我写的程序,怎么会有问题呢?”回头看看周总,他还是丝毫没有让绝影回去的意思,看来他最后的一丝幻想也落空了,想想反正这么晚都已经出来了,就算现在回去燕儿也还是对他有意见,还是跟他们一起搞完再回家算了。
那天晚上,绝影三点才回家,燕儿已经睡熟了。
再一次去医院,是验收的日子。那放射科主任手忙脚乱。医院上头的领导要来视察,如果领导不满意,责任肯定都在主任头上,主任又把责任下放到周总头上,周总又把责任下放到BOSS Liu和绝影头上,所以绝影他们也是手忙脚乱。
的测试效果还是让人满意,BOSS Liu一路顺畅地给领导表演了如何登记,这边登记的数据如何从X光机上调出来,如何从CT上调出来。KIView测试效果也不错,这个软件由周总负责,本来就是历经考验的成熟产品,直接装上用就行了。走到X光机这里,周总胸有成竹地说:“下面是KIPACS工作站,它从KIREGIS数据库中读取登记的记录,将TH600拍摄的图像数字化并转换成DI图像,可以进行图像处理,然后可直接打印报告,拍摄的胶片可以直接打印到包工中。下面由公司小绝来演示下使用流程。”
绝影也胸有成竹地走过去,从前台登记,调阅记录,拍X光,待图像进入KIPACS他开始演示调窗。调窗本是放射科医生的专业他自然不懂,只能胡乱地衡窗宽纵窗位地大幅度调,图像也跟着大幅度变化起来。正在医院头头准备点头的时候,突然,屏幕黑了。
和
见屏幕一黑,绝影也不知道是怎么回事,以前在公司测试的时候从来没出现这种情况,反正肯定是程序出了问题,坏就坏在还是全屏,图像一黑,整个屏幕就黑了。他用眼角的余光瞟了瞟周总,还好周总正在兴致勃勃地给医生们介绍KIPACS是如何如何好,只有医院领导一个人发现了问题。他赶忙退出全屏关掉KIPACS,再次打开。
医院领导正要开口,绝影抢在他前面说:“这是正常现象,一般KIPACS用久了就要重启一次。”那言外之意就是:“这黑屏的事,没啥大不了的,我们早就知道了。并且这又是不能解决的,要能解决我们还不早就解决了。就比如手机一样,就算是Nokia N95,够高档了吧,可是你能拿它放DVD吗?放不了,还是将就着用吧。所以还是麻烦你们偶尔重启一下吧。”
周总听他这么说,回过头来,丈二和尚摸不着头。
最后医院领导还是在验收报告上签了字,一行人撤回公司的时候,周总问:“小绝阿,那个KIPACS重启是怎么回事呢?以前怎么没听你说过?”
绝影哪敢给他讲真话,忙说:“没什么大不了的,回去我调研一下,估计还有些小BUG。”
在公司做CASE就是这样,虽然公司要求所有BUG的发现和修正都要最终体现到软件开发文档里,但实际操作起来,往往是程序员发现了自己的BUG能隐瞒下来的都隐瞒下来,自己抽个时间或者加班把它修改了,这样给领导的印象要好一些。这和现在很多小煤窑的做法差不多,虽然上头三令五申要杜绝安全隐患,但事故总还是要发生的,虽然又说发生事故要如实上报及时补救,但小老板们总是能隐瞒不报就隐瞒不报,自己私下处理了事。你想真要是如实上报你一个小小煤窑一年12个月就报了二十多个事故上去明年的开采许可证还怎么可能拿得到?
绝影说是小事,回到公司又看了半天都还是没搞明白,问题就出在调窗上,这个调窗原理说简单点其实就是把图像的一些属性调整一下然后重新绘制到DC上,小幅度地调整都没有问题,就是大幅度长时间调整最后显示图像的部分都会黑掉。先他以为是对WM_PAINT消息的处理有问题,这个就比较麻烦,系统经常要发送WM_PAINT这个消息,在里面下个断点或者加个MessageBox就一直要不停地弹出。搞了半天还是找不出个所以然。你想要是真是对这个消息处理出现了问题,那应该一早调窗就有问题才对。
调试了几次,绝影发现系统变得越来越慢,打开任务管理器,乖乖,KIPACS居然占用了300多M内存。要知道KIPACS刚启动时不过只占用了17M内存。看样子像是内存泄漏。这样想,他继续调窗,调一下发现内存涨上去可又没降下来,果然是调窗的时候发生了内存泄漏。
知道了原因解决起来就要快得多,原来是GetDC获取DC后没有使用ReleaseDC把它释放,这部分在WM_PAINT消息中,WM_PAINT消息又频繁发送,所以那内存泄漏起来真是要命得很。
加上ReleaseDC,KIPACS终于可以流畅地调窗,看看任务管理器,内存占用基本稳定在20M。
搞完这个BUG,绝影看看时间,已经是晚上9点多,公司的人早不知道什么时候都走光了。这次的事情还是给绝影留下了深刻的教训以至于在很常一段时间,别人问他:“影头,你看看我这程序,怎么老是出问题阿?”他都会跟别人说:“先看看是不是有内存泄漏。”
问题解决了,等到第二天周总来到公司,绝影便轻描淡写地对周总说:“昨天那个KIPACS需要重启的问题我已经解决了,是个小问题,内存泄漏。”
所以什么叫打肿脸充胖子。明明昨天花了5;6个小时憋得几乎走投无路终于解决出的问题现在在老总面前却轻描淡写地说:“是个小CASE而已。”想BOSS Liu也许也是这样,自己不知道熬了几个通宵脑细胞不知杀死多少终于给做出个多线程出来,却轻描淡写地说:“多线程嘛,那个还不容易,二三十分钟就搞出来了。”两个人都是爱吹牛,好像自己能耐大得不得了,什么技术阿方法阿算法阿解决方案阿还不一切都尽在掌握中,原以为牛这样吹了,大家就决定自己有多了不起,结果最后受苦的是自己,开心的是老板,老板们正是利用了这种心理,他们会说:“不错不错,这么个大问题能这样快地解决,这个程序里面还有二十多个BUG,都是小问题,给你一天的时间够了吧。”
周总对绝影反映的问题还是比较关心,他说:“内存泄漏这个问题是广泛存在的阿,这种问题又最不好调试。我给你介绍个软件吧,BoundsCheck,专门测试内存泄漏。”
在以前,绝影绝对不会去关心别人介绍的什么软件,首先那软件是别人介绍的,自己又不熟悉,软件好不好阿,怎么用阿都要自己去摸索,特别是这个BoundsCheck一听就知道是个英文版的软件,还要拿金山词霸去翻译菜单或者网上到处去找汉化版,本来以为用这个软件能极大地提高劳动生产率,结果反而花在学习上的时间都远远超过了它提高的劳动生产率,这叫“磨刀误了砍柴工”。
可这次绝影还是比较慎重,昨天虽然把问题解决了但实在把自己搞得太痛苦,也幸亏昨天开了任务管理器发现了问题,要不说不定把代码跟踪到太平洋还不知道问题在哪里。
去网上下个BoundsCheck6 for VC,原来是大名鼎鼎的Numega公司出的,想能出SoftICE这样的软件的公司出的东西还能有假吗?就比如今天微软宣布出了一个新的操作系统,那还不成为各大网站的头条新闻。所以不仅是衣服,就是软件也有个品牌效应。
那天在公司又调研了一整天,绝影第一次知道了“纯化测试”这个词。以后每次周总说:“OK,明天我们进行Purification。”绝影就跟大家翻译道:“好,明天我们进行纯化测试,没装BoundsCheck的把BoundsCheck装上,不会用的找我。”
最近几天BOSS Liu在公司颇为得意,看来医院对KIREGIS试运行非常满意,要他修改的地方也很少。KIREGIS的代码一直是BOSS Liu在负责,绝影从来没去看,这也好,世界上最幸福的事情就是你把事情交给别人别人做好了交给你居然和你的要求一模一样,根本不用改。因为没什么事做,BOSS Liu正好潜心研究起C++来。
本来有好多事情都是一样,会做容易做好难,就说这C++就算你是写了五六年程序的程序员,说函数模板、类模板、纯虚函数、虚基类这些东西你又用上了多少。BOSS Liu研究了一些这方面东西,再加上KIREGIS在医院取得了成功,觉得差不多火候已到,绝影也不过尔尔,不过就是汇编好一点吗?还是那句话,汇编不过100多个指令,有什么难的。
可绝影总以为他对C++的研究应该仅限于“理论”上。
两人见了面,BOSS Liu问:“你知道这个XXXX基类的构造函数会被调用几次么?”
绝影自知肯定回答不上来,在这种情况下最好就不要去回答,BOSS Liu是有备而来故意刁难你,不是带着请教的,所以就算你侥幸答对了,也并不能让他对你钦佩的感觉油然而生;要是你答错了,就正中他的下怀,从此以后凡是有技术上的讨论,他总是会拿“你XXXX这个问题都不知道,还说个P呀”来压你。
这正如鲁迅先生说的,一家人生了孩子,你说:“这孩子好呀,以后要当什么什么大官有多少多少钱。”那