學習vc編譯器2 nmake a little

2021-04-06 22:52:41 字數 825 閱讀 1472

1.nmake

microsoft program maintenance utility,外號nmake,顧名思義,是用來管理程式的工具。其實說白了,就是乙個解釋程式。它處理一種叫做makefile的檔案(vc生成的以mak為字尾,其實就是文字檔案),解釋裡面的語句並執行相應的指令。我們編寫makefile檔案,按照規定的語法描述檔案之間的依賴關係,以及與該依賴關係相關聯的一系列操作。然後在呼叫nmake時,它會檢查所有相關的檔案,如果目標檔案(target file,下文簡稱target,即依賴於其它檔案的檔案)的time stamp(就是檔案最後一次被修改的時間,乙個32位數,表示距離2023年以來經過的時間,以2秒為單位)小於依賴檔案(dependent file,下文簡稱dependent,即被依賴的檔案)的time stamp,nmake就執行與該依賴關係相關聯的操作。請看下面這個例子:

foo.exe : first.obj second.obj

(tab)  link first.obj,second.obj

第一行定義了依賴關係,稱為dependency line;第二行給出了與該依賴關係相關聯的操作,稱為command line。因為foo.exe由first.obj和second.obj連線而成,所以說foo.exe依賴於first.ogj和second.obj,即foo.exe為target,first.obj和second.obj為dependent。如果first.obj和second.obj中的任何乙個被修改了(其time stamp更大),則呼叫link.exe,重新連線生成foo.exe。這就是nmake的執行邏輯。

綜上,nmake的核心就是這3個傢伙

1,依賴關係

2, 操作

VC編譯器設定

工欲善其事,必先利其器 要想用 vc開發出高效率程式,必須對 vc編譯器有充分的了解。如果我們已經習慣編譯器給我的預設設定,那麼現在起開始嘗試改變吧 本篇文章 或者後續文章 講解 vc編譯器設定選項並沒有先後順序,只是作者在具體開發過程碰見了不同的編譯設定,進行深入了解,做此文章記錄。也希望讀到這篇...

VC編譯器設定

工欲善其事,必先利其器 要想用 vc開發出高效率程式,必須對 vc編譯器有充分的了解。如果我們已經習慣編譯器給我的預設設定,那麼現在起開始嘗試改變吧 本篇文章 或者後續文章 講解 vc編譯器設定選項並沒有先後順序,只是作者在具體開發過程碰見了不同的編譯設定,進行深入了解,做此文章記錄。也希望讀到這篇...

VC編譯器選項

cl.exe 是控制 microsoft c 和 c 編譯器與鏈結器的 32 位工具。編譯器產生通用物件檔案格式 coff 物件 obj 檔案。鏈結器產生可執行檔案 exe 或動態鏈結庫檔案 dll 注意,所有編譯器選項都區分大小寫。若要編譯但不鏈結,請使用 c。使用 nmake 生成輸出檔案。使用...