小屋創作

日誌2014-10-26 19:08

研替-上課篇(二)

作者:[ヒヤシン]信の芙蕾


承接上一篇的上課,

我們來到了第二課:BIOS的基本架構

這一堂課是非常可怕的一堂課,

原因……原因是!!!!

是因為沒有作業

所以害我幾乎沒什麼印象了(不你

事實證明從小到大的教學是正確的,

沒有作業的課程你根本聽不進去(尤其是原文的)



沒辦法了,只好跳到第三堂課(不負責任

也許晚點在公司找到筆記可能會補上……

第三堂課是令我熬夜到半夜四點的課程

這堂課是NMake,

嗯,顧名思義,

就是要自己寫一個Make檔來跑,

作業的目標是寫一個 makefile,滿足下列的條件:

1. 利用 CL.EXE,將*.c和*.cpp 編譯為 *.obj;然後利用 copy 指令,將所有的 *.obj 組合成 result.lib。(理論上是要用 LIB.EXE 這個程式,但此次作業以copy 來取代。)

2. 若是.h 被修改的話,*.cpp 要重新編譯。

3. 想辦法將 source list 和主 makefile 分開,若是要加入新的 source file 的話,不需要動到主 makefile。

4. 只有重新編譯的 .obj 檔要重新加入 result.lib 中。若 .obj 檔沒更新,就不要再加入了。

於是乎,

就要開始寫作業了

在執行make檔之前,

需要先架設出相對應的環境,

關於架設環境網路上已經有很多類似的文章,

隨便找找都會有,

找自己看的懂的吧,

我必須說其實很多我都看不懂哈哈

至於關於寫makefile的部分,

很抱歉我是從一個全白的txt檔寫成.mak檔的

在此就附上認真的過程吧



嗯……上圖就是撞上問題了,

網路上查了好多資料,

開始寫程式後cmd完完全全就是你的好朋友

而編譯的過程幾乎是每一步都會遇到問題

這時候Google就是你另一個好朋友

全世界的新手程式設計都是你的代言人……

你碰到的問題他們總是有人比你早碰到過,

只要判斷情勢是否一致,

跟著高手回答的做就可以了XD

最後產生的結果就像下圖所示,



在cmd你放makefile
.mak的資料夾下利用nmake \f makefile.mak 就可以執行它了,

然後就會看到一堆錯誤了(不你

以我們的作業為例,

最終我將*.c跟*.cpp都編譯成了*.obj,

也將*.obj們link成了成了result.lib

當然另外兩點也都有符合,

這邊就不方便秀程式碼

反正文章也是寫給自己看好玩的,

如果有人真的找到這篇文章有任何疑問就私信密我吧

我會就我所知的回答你的,

以上~




2

2

LINE 分享

相關創作

C語言變數生命週期觀察與Lambda運算式,補充unique_ptr

Google開源專案風格指南

一切都是從Hello World開始,scanf應用補充

留言

開啟 APP

face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】