第一百零六章 難題(1 / 2)
「林老師,位置控製程序我看了,沒有問題。」李承乾看完位置控製代碼,也沒有發現問題。
雖然這份代碼的運行效率,比他寫的空間站控製程序要慢很多,但功能很完善。
畢竟是空間站的配套軟件,一般情況下,肯定是進行過大量測試的,沒有人敢在這些問題上馬虎大意。
聽到李承乾的話後,林雄的失望幾乎寫在了臉上。
緊接著,李承乾繼續開口,「林老師,我覺得問題可能出在核心代碼,或者是驅動程序上。」
位置控製程序是依托於空間站核心代碼運行的。
最後驅動程序按照代碼的指令,控製空間站的硬件。
「我能不能看一看這套係統的核心代碼,以及驅動程序。」
「可以,但是核心代碼和驅動程序是用匯編寫的……」其實,在多次檢查控製程序,沒有發現問題之後,林雄就已經想到,可能是核心代碼和驅動程序出了問題。
可核心代碼和驅動程序都是匯編語言寫的,解讀起來難度極大,難以理解,原來的係統開發人員已經在查找bug了,可最短都需要兩個月的時間才能完成,還不一定能排查出問題的所在。
「林老師,匯編語言,其實我也懂。」李承乾平靜的開口。
「來,這是係統核心代碼。」
「這是相關設備的驅動程序。」
「李承乾同學,看過代碼後,我想你已經知道這個程序是乾什麼的了。」
看到李承乾點了點頭,林雄無比鄭重的開口,「今天的事情必須保密,不能對任何人說。」
「代碼也必須保密,絕對不能泄露出去。」源代碼要是泄露出去,一旦被人找到漏洞,攻擊漏洞,後果不堪設想。
「你放心,我不會對任何人說這件事。」李承乾自然知道事情的嚴重性。
「李承乾同學,核心代碼,以及驅動程序你試著解讀一下,就算沒有發現問題也沒有關係。」用匯編語言編寫程序,和解讀匯編語言編寫的程序,難度根本就不是一回事。
解讀的難度是編寫的十倍,這還是有注釋的情況。
在沒有注釋的情況下,想找出bug,和大海撈針沒有多少區別。
林雄已經考慮好了。
1個小時後就是下班時間,要是沒有成果的話,他就會啟用備用方桉。
畢竟,明天李承乾需要進行軟件現場答辯,需要做好準備,這件事也很重要。
李承乾的目光落到林雄調出來的兩個文件上。
在技能加持之下,他速度飛快的瀏覽起來。
那些對其他人來說如同天書一般的代碼,他一眼就能看穿含義。
空間站操作係統的核心代碼並不多,10分鍾後,他就看完所有核心代碼。
在他的腦海中,控製程序已經在核心代碼上運行了一遍。
頓時,李承乾發現了問題的關鍵。
「原來問題出在這裡!」
一段看似正常的代碼被李承乾找到。
這是一段時間轉換函數。
而控製程序運行後,就會調用這個函數。
因為數據定義的精度不夠,導致每一次位置計算都會發生一點的偏移,一天積累下來,偏移量剛好是1厘米。
發現了這個問題後,李承乾並沒有立即提出來。