第39章 內部演示

投票推薦 加入書籤 小說報錯

  日子像上了發條,轉眼到了 Windows預覽版內部演示的日子。

  公司那間最好的機房被臨時改造成了演示廳,拉上了窗簾,只有投影儀的光束打在幕布上。空氣里飄著新機器散熱特有的焦糊味,混雜著一種近乎實質的緊張。董事會成員、各部門骨幹擠滿了屋子,連求伯君都特意從深圳飛了回來,坐在第一排,鏡片後的目光沉靜如海。

  林牧站在台側,手心微微沁汗。他瞥了一眼台下:葉文斌眉頭微蹙,手指無意識地敲著扶手;老吳抱著胳膊,嘴角抿成一條直線,顯然對這場「秀」不以為然;雷軍坐在電腦前,臉色因為連續熬夜而有些蒼白,但眼神亮得嚇人;趙磊站在雷軍身後,不停推著眼鏡,嘴唇翕動,仿佛在默念什麼步驟。

  「開始吧。」林牧對雷軍點點頭,聲音平穩。

  雷軍深吸一口氣,點擊了那個他們鏖戰數月、圖標還是個粗糙狐狸爪印的「WPS for Windows預覽版 0.1」。程序啟動,比 DOS下慢了不少,一個簡單的灰色窗口出現在屏幕上,標題欄寫著「WPS文檔查看器-[預覽版]」。

  「各位領導,同事,」雷軍的聲音帶著熬夜的沙啞,但努力保持著清晰,「這是我們遷移項目組第一階段的核心成果。目前實現了對 WPS 1.0格式文件的基本解析和渲染。」

  他操作滑鼠,打開一個預先準備好的、帶有複雜表格和幾種字體的測試文檔。窗口內容區,文字、表格線、不同字體居然都大致正確地顯示了出來!雖然滾動時仍有明顯的閃爍和遲滯,排版細節也有偏差,但確確實實,一個完完全全的 DOS下的 WPS文件,在 Windows的圖形界面里被打開了!

  台下響起一片壓抑的驚嘆和竊竊私語。老吳身體前傾,眯著眼盯著屏幕上的表格線,仿佛在確認那不是幻覺。葉文斌敲擊扶手的手指停了下來。

  「我們還實現了基礎的編輯功能。」雷軍繼續演示,在文檔中刪除幾個字,又鍵入新的。光標移動、字符刪除和輸入,雖然慢,但邏輯正確。「目前支持通過剪貼板與 Windows其他程序交換純文本。」

  接著,是重頭戲——輸入法整合。雷軍切換到一個空白文檔,示意趙磊操作。趙磊有些僵硬地走到電腦前,手指微微發抖,按下了他們自定義的熱鍵。屏幕右下角,一個極小、但確實存在的狀態欄跳了出來,顯示著「搜狗」兩個字。他敲擊鍵盤,拼音「zhong guo」出現,候選框彈出,選擇,漢字「中國」成功上屏!

  「嘩——」這次,台下真的忍不住了,議論聲大了許多。在 Windows 3.1加中文之星的環境下,實現第三方輸入法的初步集成,這技術難度他們多少都懂。這證明團隊不僅啃下了 Windows編程的硬骨頭,還在中文處理這個核心難點上取得了實質性突破!

  求伯君微微頷首,臉上露出一絲不易察覺的笑意。

  林牧心中稍定,剛準備上前做總結,並拋出下一階段規劃——

  異變陡生!

  就在趙磊準備輸入第二句時,屏幕上的輸入法狀態欄突然瘋狂閃爍起來,緊接著,整個 WPS預覽版窗口「凝固」了!滑鼠變成沙漏,無論怎麼點都沒反應。雷軍臉色一變,急忙去動滑鼠,試圖調出任務列表,但為時已晚。幾秒鐘後,熟悉的、令人心悸的藍色背景伴隨著白色英文錯誤代碼,充滿了整個屏幕——Windows保護性錯誤(GPF)!程序崩潰了!

  「死機了!」有人低呼。

  機房內瞬間鴉雀無聲,落針可聞。剛剛的興奮和期待,像被一盆冰水兜頭澆滅。趙磊的臉「唰」地白了,僵在原地。雷軍猛地握緊了拳頭,指節發白。

  老吳鼻腔里發出一聲幾不可聞的輕哼,雖然沒說話,但那意思再明顯不過:花里胡哨,不堪一擊。

  葉文斌的眉頭皺得更緊。求伯君臉上的笑意也收斂了,靜靜看著。

  最要命的是,崩潰似乎引發了連鎖反應,機器開始發出異常的硬碟讀取聲,屏幕上的藍屏代碼滾動越來越快,整個系統看起來都要不穩了。

  就在這尷尬和沮喪幾乎要淹沒整個房間的時刻,林牧動了。他一個箭步走到電腦前,動作快得幾乎帶風。

  「趙磊,強制重啟。雷軍,準備調試符號文件和源碼。」林牧的聲音斬釘截鐵,沒有絲毫慌亂,「其他人,演示暫時中斷十分鐘。問題很可能出在輸入法模塊與 Windows IMM消息處理的小概率衝突上,我們之前模擬測試覆蓋不足。正好,現場解決它。」

  他的鎮定如同定海神針,瞬間穩住了場面。沒有人離開,所有人都屏息看著。


  機器重啟,進入 DOS。林牧沒有進 Windows,而是直接調出 Debug工具,加載了雷軍迅速找來的帶有調試符號的程序核心 dump文件。黑色的命令行界面,白色的代碼和內存地址飛速滾動。林牧的手指在鍵盤上敲擊,快得讓人眼花繚亂,嘴裡低聲念著一些術語:「IMM_IME_CONTROL消息……上下文句柄未同步……這裡,堆棧指針異常……」

  時間一分一秒過去,機房裡只有鍵盤聲和機器風扇聲。十分鐘眼看就要到了。

  「找到了。」林牧忽然停下,光標停在一行彙編代碼上,「是輸入法狀態切換時,我們自定義的消息鉤子沒有及時清理一個全局變量,導致 Windows內核在嘗試訪問已釋放內存時崩潰。趙磊,改這裡,第 347行,增加一個空值判斷和資源釋放。雷軍,立刻用最小補丁模式重新編譯輸入法 DLL。」

  「明白!」趙磊和雷軍如同接到軍令,立刻撲到旁邊的開發機上操作起來。五分鐘後,一個熱修補的動態連結庫文件被複製過來。

  再次啟動 Windows,加載補丁,重新運行那個該死的預覽版和輸入法。所有人的心都提到了嗓子眼。

  雷軍顫抖著手,重複剛才的輸入操作。

  一次,正常。

  兩次,正常。

  快速切換中英文,連續輸入……一切正常!程序運行平穩,沒有再崩潰!

  「呼——」不知道是誰先長長出了一口氣,緊接著,房間裡響起了稀疏但真心的掌聲,迅速變得熱烈起來。老吳也鬆開了抱著的胳膊,眼神複雜地看了林牧一眼。

  林牧轉過身,面向眾人,臉上沒有得意,只有屬於技術者的冷靜和一絲疲憊:「讓大家見笑了。這就是研發,尤其是開拓未知領域研發的常態——充滿意外和挑戰。但重要的是,我們發現了問題,定位了問題,並且,」他看了一眼剛剛修復 bug的趙磊和雷軍,「我們解決了它。這個插曲,恰恰證明了我們走的路是對的,遇到的困難是真實的,而我們有能力克服。」

  他走向前台,語氣重新變得鏗鏘有力:「今天的演示,不僅僅展示了我們成功在 Windows下打開了 WPS文件,實現了初步編輯和輸入法集成。更重要的是,它暴露了深水區的礁石,鍛鍊了我們團隊的應急能力和技術深度。下一步,Windows項目組的目標是:三個月內,推出功能相對完整、穩定性達到內測水平的 Alpha版本!同時,DOS產品線不能停,老吳,你們規劃中的『WPS Office 1.2』行業增強版,必須按時交付,用利潤給我們續足彈藥!」

  「沒問題!」老吳這次回答得乾脆了許多。親眼看到 Windows組的攻堅能力和林牧的應變,他心中那點不服氣消減了不少。

  會議在一種劫後餘生卻又鬥志昂揚的氣氛中結束。求伯君臨走前,拍了拍林牧的肩膀:「臨危不亂,指揮若定,技術功底也紮實。小林,這個擔子你挑得起來。」

  人群散去,只剩下核心幾人。雷軍癱坐在椅子上,抹了把額頭的汗:「林總,剛才真是……差點就砸了。」

  「砸不了。」林牧遞給他一杯水,「真金不怕火煉。不過,這也給我們提了個醒,Windows環境的複雜性和測試強度必須遠超 DOS時代。我們要建立更嚴格的代碼審查和自動化測試流程。」

  趙磊還沉浸在剛才驚心動魄的調試中,眼睛發亮:「林老師,您剛才看 dump文件的速度太快了!是怎麼一下子定位到那個全局變量的?」

  「經驗,還有對系統機制的理解。」林牧簡單道,「你以後也會有的。這次你表現不錯,關鍵時刻沒亂。接下來,輸入法在 Windows下的穩定性和性能優化,你和小周要負起主責。」

  「是!」趙磊用力點頭。

  這時,林牧的大哥大響了。他走到窗邊接通,是葉溪溪。

  「哥!聽說你們今天演示?怎麼樣?順利嗎?」葉溪溪清脆的聲音傳來,帶著關切。

  「出了點小意外,不過解決了。」林牧語氣輕鬆,「怎麼,學校里有什麼事?」

  「沒什麼大事……就是,那個張揚,好像出院了,不過聽說家裡公司那攤子事夠他喝一壺的,好像要舉家搬去南方了。」葉溪溪的聲音帶著一絲如釋重負,「還有,我們學校計算機課,下學期可能真的要正式採購你們的校園版了!系主任今天還問我呢!」

  「好事。」林牧笑了,窗外的陽光正好刺破雲層,灑在中關村高低錯落的樓宇上,「看來,我們的『播種計劃』,開始發芽了。」

  掛掉電話,林牧望向遠方。演示會的驚魂一刻已經過去,但它像一次淬火,讓團隊更加凝聚,也讓前進的方向在挫折中愈發清晰。DOS的根基要更深,Windows的突破要更快,市場的種子要更廣地播撒。

  而他知道,更大的風浪,或許就在不遠的前方。但此刻,他麾下的這艘船,船員更加精幹,目標更加明確。

  「雷軍,趙磊,」他轉身,目光灼灼,「休息半天。明天開始,新的攻堅計劃,啟動!」

章節目錄