在搭建開發環境之前,首先要明確幾個概念:
1. 什么是windows SDK
2. C/C++/Asm 這些開發語言與winSDK的關系
3. 從源文件到exe文件要經歷的編譯,鏈接
只有明白了以上幾個概念,才能夠更好的理解開發環境搭建過程中各個軟件的作用,從而達到駕馭工具,使用工具的目的。
**什么是Windows SDK**
:是 windows software development kits 的簡稱,中文意思:windows系統軟件開發包,這個軟件開發包中提供了開發exe文件的各種C語言頭文件和庫文件,有了這些文件,我們開發exe的時候就能夠調用windows系統的函數,實現系統功能。
在做java開發的時候有JDK,在做安卓開發的時候有android SDK,這些SDK的主要作用就是給我提供系統的函數接口,方便我們調用系統的功能。
**C/C++/Asm 這些開發語言與winSDK的關系**
windows系統基本是用C語言編寫,所以winSDK提供的都是C語言的頭文件。這有點類似于Android是用java構建的,所以安卓的SDK提供的都是jar包一樣。
winSDK只是給開發者提供了系統功能的函數調用,而在程序中處理業務邏輯的部分,就需要開發者依據自身的情況,來靈活選取合適開發的語言,所以大可以使用C/C++/ASM來開發exe程序。
但是要知道:winSDK只提供了c語言的頭文件。所以,如果要使用ASM來開發windows程序,就需要自己把winSDK中的頭文件改成 符合ASM開發規范的頭文件。
**從源文件到exe文件要經歷的編譯,鏈接**
編寫好的.C /.cpp /.asm 文件要經過 編譯器編譯成目標文件, 在編譯的過程中,編譯器會按照頭文件中定義的函數原型來檢查源文件中各處的函數引用是否正確,如果不正確就會報相應的編譯錯誤。這也是頭文件的重要作用之一
編譯好的目標文件經過鏈接,可生成exe文件,在鏈接的過程中,連接器會將引用的庫文件的代碼,加入到目標文件中,最終形成了exe文件。