“要不然…要不然…今晚再编译一次?明早我过来看结果,好不好?”
“想编就编呗”,她漫不经心的说。
5个小时的等待…在得到确定答复之前,你永远都不会知道结果。“她编译通过了吗?”,你嚼着米饭在想。“她编译通过了吗?”,你一边走路一边想。“通过啦!通过啦!”,你从梦中发出会心的微笑。然而第二天去那滴滴答答闪着光标的屏幕前,你一定能发现一行行刺眼的红字。
我发现我的编译器是个女孩子,无论我怎么追求她,她总是拒绝我。
Don’t know how to build #^$&@.lib
光标假装认真的一下一下的闪着。“我跟你说过多少次了!”,这次我真的有点发火,“按照makefile执行!”她一定知道怎么编译的。她只是想试试我。我这样暗自想着,并且忍住偷笑。可是抬头看着那闪烁的光标,这次看起来她是认真的。她真的不知道怎么编译了。为什么在服务器上她每次都能顺利编译通过。在我这里就不行。或许她只是想要一个更刚猛的CPU,更宽敞的内存和更顺畅的网络。这是我所没有的。
重新检查,makefile, sources还有dirs,我完全没有碰过,原原本本的从服务器上拷贝下来。可是根据编译脚本本该编译出来的lib就这样神奇般的在编译进几十个exe之后,从硬盘上消失了,连一比特的碎片都没有留下。这不可能。这没有道理。要不我去单独编译一下lib?那不行,那需要太多依赖了。他们都在之前的编译环节中被删除了。我也许可以跟别人借一个lib过来。不过编译环境选的不一样,这样编出来的东西很可能不能跑。
“要不然…要不然…今晚再编译一次?”故事就这样进行着。
“现在我正编一个debug版,但是retail版也需要编译一下。一起编译可以吗?”
“没问题”,她望着窗外。
我没有自信。不过她看起来没什么不愉快。“那劳驾你了。”
第二天,不仅retail没编出来,连新来的debug也fail掉了。
Can’t open file ^*%%&*, check if other progress have opened it.
她不能容忍在我的机器上同时运行其他编译进程。
近来我发现,原来奇迹般的清除编译好的lib文件的,都是该死的杀毒软件!我错了。我不该让她跟杀毒软件呆在一起的。我把杀毒软件彻彻底底的从硬盘清除掉。就如同他删除那些lib文件一样,不留一比特碎片。还好她不会不依不饶,事情过了也就原谅了我。
我最喜欢卡夫卡的树,在雪地上横躺着一棵树。他看起来漂浮在雪面,似乎轻轻一推就会滑落山崖。不对。他已经深扎大地,深埋雪底。不过,那也仅仅是看起来如此而已。
你永远不知道下一次能否顺利编译成功。
不过,经历这些事情,我更加牢记了程序员的三大定律:
1. 她永远不会犯错
2. 如果犯错都是我的错
3. 我一定会犯错
以上