事关重大,绝影抽了点时间,洗了个澡,换了件衣服,然后端端正正地坐在电脑前,清了清嗓子,才郑重地给BOSS Liu打去了一个电话。
. q+ y2 w9 h# e# I0 E. r9 u: FBOSS Liu显然还没意识到事情的严重性,而且正一门心思地一边写着他的代码,一边听着MP3,一边在news.qq.com的角落到处翻花边新闻,一边跟MM们聊着QQ,一边和绝影讲着电话,简直把多线程或者说超线程技术在工作中运用到了极致。胡乱聊了两句,绝影突然换了口吻道:“BOSS,严肃点,大事不好了!”
* _2 u9 l" w5 D& _: [& Q要换成平时,BOSS Liu都对绝影的“大事不好了!”习以为常,“狼来了,狼来了”,喊一两次还能忽悠人,你要是天天喊,哪怕你突然有天改成“老虎来了”都没人理你。: _ G& l1 X9 {
这一次,BOSS Liu听他的语气不像在开玩笑。要是真有什么大事,怠慢了绝影,到时候让他秋后算起账来,可是自找的吃不了兜着走。. m m' _0 n& F) `
于是BOSS Liu赶紧在VC中按下Ctrl+Shift+S,小心翼翼地保存好他的代码,关了还没看完的花边新闻,再给每个MM发一句:“BOSS来了!下了!”,用的还是“复制”,“粘贴”,赶紧把QQ调成隐身,还算是安全结束所有线程,然后才正经地对绝影说:“不急,冷静!”,这才把重点全部放到主线程上来。
- f. J) _1 w' i7 M0 {- t绝影却用更加焦急地语气说:“还不急呢,火都烧到眉毛了!那个代码,你究竟有没有编译过啊?”; D6 B5 H p% D N# }, q j7 C
“当然编译过,怎么?有破绽?”
! r9 G" P3 a+ c/ n( r; B: V“当然有。”
2 s& S' N" v3 _$ q: M0 J; e: m1 t“我来解决。多不多?”
, M# u, {8 q7 o1 [8 h e! q0 ]4 ?“不多,但都是致命错误,fatal error!”
- G9 T# d/ p- Z$ F& e6 g+ `这次换BOSS Liu焦急起来:“怎么回事?”
0 ?, j9 W1 i) u" _$ I6 q M! L绝影却缓了缓语气:“我说BOSS啊,你这不是整我吗?你自己看看你那x264解码器部分,还有zlib库。”: `, h) Q3 C% }6 v8 B
“这两个库很好嘛。都是网上开源的,很有名,而且发布很久了,是经历过考验的,应该没什么问题。”- A/ q$ o9 h0 a: N
“我晓得,好是好,问题是这两个库都用了汇编语言,而且都是独立汇编,还非得汇编器来汇编。还不统一,x264用的nasm,zlib用的masm。”
: a9 m4 {( s3 S$ ]' UBOSS Liu这才一拍脑门:“坏了。”% [* u- c$ N3 [
绝影叹口气:“是啊。坏了。这S60 Platform SDK全是C++接口,根本没有提供汇编器,任凭你什么汇编代码,放到这里就是死,你总不可能让我去打听一下人家NOKIA用的什么处理器,找来《Develop Guid》,把那nasm的汇编翻译过来再拿它的汇编器汇编吧。再说,要是我们真有这么大本事,还不知道S60 Platform SDK的C++编译器和汇编器的目标文件兼不兼容呢!”
& j3 U: j( b( Y9 HBOSS Liu沉默了一会:“唉,当初我就在Linux下编译的,我看这两个库比较稳定,就直接把目标文件连接进去了,根本没想到这里面还有汇编代码。这可如何是好啊?”
& o) X( ]/ N/ X' |: ~6 _& f绝影也沉默了一会:“办法有两个,一:把这库里面的汇编代码翻译成C++的,工作量巨大,代码我也只是粗看了一下,发现x264的汇编代码分为AMD63和i386,zlib好像也分了masm64,masm32和masm686,估计还是跟CPU平台相关的,如果是这样,就不好翻译了。结论:方法一基本不可能。二:干脆就不要这部分的视频解码了,把主流解码器做出来差不多了,毕竟是移动平台嘛,想做得跟PC平台功能一样强大,还是比较困难呐。”+ u6 {5 p: S# l# G1 | b
“那不行。”BOSS Liu一口打断他,“x264的可以暂时不要,但zlib就非要不可了,代码里面所有关于数据压缩的算法基本都用了这个库,这
>>>点击查看《疯狂的程序员》最新章节