一、windows程序分類
1、控制臺程序
windows的dos程序,沒有自己的窗口,需要借助dos窗口進行用戶交互,主函數(shù):
int?main() { ????return?0; }
2、windows窗口程序
可見的windows系統(tǒng)下的程序基本都屬于這種,列入w函數(shù)、excel等等,主函數(shù):
int?APIENTRY?wWinMain(_In_?HINSTANCE?hInstance, ?????????????????????_In_opt_?HINSTANCE?hPrevInstance, ?????????????????????_In_?LPWSTR????lpCmdLine, ?????????????????????_In_?int???????nCmdShow)
{...}
3、動態(tài)鏈接庫dll
依附于宿主程序調(diào)用執(zhí)行,自己無法執(zhí)行,宿主程序調(diào)用其中的函數(shù)后才會進內(nèi)存,主函數(shù):
BOOL?APIENTRY?DllMain(?HMODULE?hModule, ???????????????????????DWORD??ul_reason_for_call, ???????????????????????LPVOID?lpReserved ?) {...}
4、函數(shù)庫程序lib
無入口函數(shù),無法執(zhí)行,也就無法進內(nèi)存,宿主函數(shù)直接從硬盤上讀取代碼,然后復制代碼副本到自己的進程中。
二、VC下編譯工具分類
1、編譯器CL.exe
作用是將源代碼翻譯成目標代碼
所在目錄:
C:Program?Files?(x86)Microsoft?Visual?Studio?14.0VCbinCL.exe
2、連接器LINK.exe
作用是將目標代碼、庫連接生成最終文件。
所在目錄:
C:Program?Files?(x86)Microsoft?Visual?Studio?14.0VCbinLINK.exe
3、資源編譯器RC.exe
作用是將資源編譯,最終通過連接器存入最終文件
所在目錄(vs2015下)::
C:Program?Files?(x86)Microsoft?SDKsWindowsv7.1ABinx64RC.exe
三、常見的VC的庫
1、kernel32.dll
提供了線程、進程、內(nèi)存管理等核心的API
2、user32.dll
提供了窗口、消息等API
3、gdi32.dll
提供了函數(shù)的API
以上三種庫的路徑:
C:WindowsSystem32
四、VC下標準的頭文件
1、windef.h
windows的函數(shù)
2、winbase.h
包含kernel32.dll所有API的聲明
3、wingdi.h
包含所有g(shù)di32.dll的API的聲明
4、winuser.h
包含所有user32.dll的API的聲明
5、winnt.h
包含對UNICODE函數(shù)的支持
6、windows.h
所有windows頭文件的集合
以上所有的頭文件所在目錄(vs2015下):
C:Program?Files?(x86)Microsoft?SDKsWindowsv7.1AInclude
? 版權(quán)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載。
THE END