散夥是人間常態,你我又不是什麼例外,只是很遺憾,沒有成為你的偏愛,你卻成為我愛不得的遺憾。。。
---- 網易雲熱評
一、Windows應用程式的型別
1、控制檯程式Console DOS程式,本身沒有視窗,透過Windows DOS視窗執行
2、視窗程式 擁有自己的視窗,可以與使用者互動 庫程式 存放程式碼、資料的程式,執行檔案可以從中取出程式碼執行和獲取資料
3、靜態庫程式 副檔名LIB,在編譯連結程式時,將程式碼放入到執行檔案中
4、動態庫程式 副檔名DLL,在執行檔案執行時從中獲取程式碼
二、四種應用程式的對比
1、入口函式
控制檯程式 - main
視窗程式 - WinMain
動態庫程式 - DllMain
靜態庫程式 - 無入口函式
2、檔案存在方式
控制檯程式、視窗程式 - EXE檔案
動態庫程式 - DLL檔案
靜態庫程式 - LIB檔案
3、執行方式
控制檯程式 - 在DOS視窗內執行
視窗程式 - 擁有自己的視窗在自己的視窗內執行
動態庫程式 - 本身無法執行,由可執行程式或其他的DLL呼叫
靜態庫程式 - 執行不存在,程式碼會嵌入到可執行檔案或DLL等中
三、VC的編譯工具
編譯器CL.EXE 將原始碼編譯成目的碼.obj
連結器LINK.EXE 將目的碼obj、庫*.lib連結生成最終檔案,LINK.EXE xxx.obj xxx.lib,有資原始檔再加*.rc
資源編譯器RC.EXE (.rc)將資源編譯,最終透過連結器存入最終檔案
四、Windows庫和標頭檔案
1、Windows庫
kernel32.dll - 提供了核心的API,例如程序、執行緒、記憶體管理等。 user32.dll - 提供了視窗、訊息等API
gdi32.dll - 繪圖相關的API
2、windows標頭檔案
windows.h - 所有windows標頭檔案的集合
windef.h - windows資料型別
winbase.h - kernel32的API
wingdi.h - gdi32的API
winuser.h - user32的API
winnt.h - UNICODE字符集支援