如果你喜愛我們小說狂人的話,可以多多使用登入功能ヽ(●´∀`●)ノ
登入也能幫助你收藏你愛的小說~跟我們建立更深的連結喔 ♂
《遊戲製作,從套路寶可夢之父開始》第二十四章 改造完成
  在這個時間點索任兩家還沒成為競爭對手,甚至還能算是親密夥伴。

  此時的索妮還沒有自己的主機平台,於是在90年的時候開始和任地獄合作製作CD-ROM(光盤)遊戲機。

  不過在91年的時候,任地獄想吃Sony下手裡CD-ROM的技術不成,於是單方面秘密取消了跟索尼的合作,轉而跟飛利浦合作搞CD-ROM遊戲機了,索妮還蒙在鼓裡。

  從此兩家關系開始惡化,直到1994年索妮推出遊戲機,兩家正式開始進入競爭對手關系,大搞獨佔打擊對手。

  所以此時會有索妮的遊戲上老任的平台也不算離譜。

  果然他沒聽說過這款遊戲是有原因的,玩了一會之後發現確實沒啥玩頭。

  “謝了。”

  將手柄交還給森本佑樹準備去吃飯。

  “不客氣,對了栗山桑,不知道能不能略微給我解釋一下C語言編譯器的構造原理?”

  “你很想了解嗎?”

  “我也有學習過C,開發的方便程度和直接寫匯編比起來簡直是天差地別,但是底層原理卻一直搞不明白。

  我對栗山桑十分敬佩,居然能夠實現如此複雜的編程。十分希望能向您學習。”

  森本佑樹十分恭敬地說道。

  這個時代程序員想要學習深層次的知識,除了出版物之外就是向高手請教。

  “也不是不行。反正我把大概原理告訴你,其他的你想繼續深入了解只能自己去看材料了。”

  “這樣就足夠了。”森本佑樹十分感激。

  很多時候學習的門檻並不是知識有多高深,而在於如何收集和歸納。

  即便計算機行業隻發展了幾十年,但有關的文獻刊物已經是浩瀚如海,如果沒有人給你引進門,你查資料都不知道從何查起。

  很多人並不是不努力,他們像是無頭蒼蠅一樣撞進知識的海洋中奮力遨遊,然後就被淹死了。

  樹谷給他將大概原理說清楚,能讓他事半功倍。

  “一個簡單的不帶優化的編譯器,基本只需要3個步驟:語法分析,代碼生成,連接裝載……要具體了解的話,你可以自己看看《龍書》。”

  龍書就是名為《編譯原理》的程序員聖經,因為封面是一名騎士和一隻龍所以被稱為龍書。如果說離散數學是計算機科學大廈的基石,編譯原理則是這座大廈的天花板。

  和《X語言從入門到精通》那種連大學教材都不如的水書完全不是一個等級的。

  看森本佑樹記筆記記得認真,樹谷索性又講了些更深入的東西,先把搞暈,讓他自己去消化知識去,別天天在他身後盯著。

  實現C編譯器難點主要有三個,語法分析器、代碼生成器、連接器。

  語法分析器就是將C代碼翻譯為“抽象語法樹(AST)”。代碼生成器就是將抽象語法樹翻譯為可執行代碼。連接器是將不同源代碼文件組合到一起,寫入目標系統進行運行。

  三者中最難的是語法分析器,而幸運的是樹谷並不需要改動這部分,他的改造主要集中在代碼生成器上,讓其以GB平台的匯編為目標生成代碼。

  而連接和裝載的步驟直接被舍棄,這一步還是得人工來。

  等他實現了這個程序,GF社進行開發的時候就可以寫更加易於開發的C語言,然後通過程序轉化成GB匯編格式,最後再手動進行修整,就能在GB上運行。

  流程大概就和用AI大模型生成文稿一樣,輸入梗概生成一篇文案,最後手動修改將不通順的部分改成人話。

  即便還是不能完全自動,比起之前已經是效率大增了。

  樹谷花了十幾分鍾打發了森本佑樹,吃過午飯後繼續工作。

  之後的幾天也沒有什麽特別的事情發生,森本佑樹也完全沒有來煩他,除了工作時間外他都抱著一本《編譯原理》啃得不亦樂乎。

  這幾天樹谷全身心投入到編譯器的改造中,閑暇時也和同事們聊聊天。

  不知道是不是真的有賽博佛祖的保佑,GF社的遊戲測試相當順利,所以全公司都享受著996的福報,晚上九點就能準時下班。

  甚至還有些開發組成員邀請樹谷下班後去居酒屋坐坐,假裝加班等到十一點再回家,省的太早回去撞見太太和別的男人在一起,那多尷尬啊!

  而樹谷的小軟件改造比預想的還要快速。

  得益於田尻赤和增田順二找到的這份TurboC 2.0編譯器,源代碼和他記憶中的就只有幾處細微的不同。

  他隻費了點心思將不同之處處理掉,也沒有造成大的困難。先前還預計七天就能完成,沒想到在周六早上就已經全部完成了。

  “什麽?已經完成了?”

  田尻赤有些不敢置信,雙目圓瞪抓著樹谷的雙肩使勁晃了晃。

  原本他還覺得在GF社目前這個遊戲項目徹底結束之前,樹谷能夠完成就已經很好了,畢竟編譯器多複雜稍微懂行些的都知道,更別提要動手去改造了。

  樹谷感覺自己腦袋都快被搖散黃了,連忙抓住他的手:“田尻前輩我要個GB的測試機,試試生成的代碼能不能運行。”

  “等等,我親自去拿。”

  田尻赤聞言放開了樹谷,打開庫房從中取出一堆電路板和數據線。

  庫房是除了社長室外,GF社辦公場地中唯一的房間,裡面存放了大量電子設備。

  畢竟是遊戲開發商,即使只是做外包GF社還是有不少遊戲主機平台的測試機器。

  只不過辦公室狹小,大量設備堆在工位上既不方便也容易損壞,所以平常都是統一收在庫房中,做相應平台的項目時再統一配置。

  田尻赤親自拿著測試機來到樹谷的電腦前幫他接好,然後緊緊盯著屏幕。

  在他的注視下,樹谷打開文本編輯器用C語言寫出一段控制GB貼圖切換的代碼,然後用腳本進行編譯,生成了一段匯編代碼。

  原來只有五十幾行的C語言代碼,在編譯後變成了近千行編譯指令。

  田尻赤高興地大聲喊道:“真的成了!”

  “成功了嗎?”

  增田順二和衫森康也走進社長室內,他們剛才看到田尻赤拿著GB測試機就猜測是樹谷的代碼成了。

  “真是不可思議!讓我來看看。”

  增田順二湊到樹谷邊上,他控制著光標一行一行地移動,仔細查看著腳本生成的每一句匯編,

  “是GB的匯編,而且最重要的內存和寄存器尋址也沒有問題!”

  作為開發部長的增田順二對GB的底層再熟悉不過了,他很快確定了這段代碼沒有明顯的錯漏。

  然後他動手將代碼燒錄進ROM中,在測試機上測試。

  “測試跑過了,代碼沒問題。”

  增田順二轉頭和田尻赤、衫森康互相對視,三人目光中都帶有喜悅。
鍵盤左右鍵 ← → 可以切換章節
章節問題回報:
翻譯有問題
章節內容不符
章節內容空白
章節內容殘缺
上下章節連動錯誤
小說很久沒更新了
章節顯示『本章節內容更新中』
其他訊息