1. 程式人生 > 實用技巧 >C/C++程式設計筆記:Windows程式設計入門知識,帶你從C語言到Windows

C/C++程式設計筆記:Windows程式設計入門知識,帶你從C語言到Windows

引言:

學習C語言很久了,是不是一直在跟黑乎乎的螢幕打交道,像QQ、360、VC6.0這樣的軟體都是帶介面的,怎麼做到的呢?

前面我們講的”黑屏“叫控制檯應用程式(Win32 Console Application),也稱DOS程式(或MS-DOS程式)。DOS是早期的命令式作業系統,很難做出漂亮的介面,除了開發人員,”黑屏“對普通使用者很不友好。

帶介面的程式叫Windows應用程式(Win32 Application)。Windows是一款現代作業系統,帶有豐富的互動介面,使用簡單,無需記憶繁雜的命令。

使用C語言可以開發出Windows應用程式,也就是帶介面的程式,只是絕大部分C語言教程沒有講,它們只講了基本語法,讓很多初學者認為學C語言沒用,什麼都做不出來。

其實不是這樣的,C語言只是一種工具,需要與Windows系統結合,藉助Windows提供的函式才能開發出漂亮的程式。

Windows API 程式設計、Windows程式設計、Windows SDK 程式設計是一個概念。

什麼是windos程式設計?

在C語言中,使用fopen()函式可以開啟一個檔案,感覺非常簡單。檔案儲存在硬碟上,要經過複雜的處理才能顯示,這些細節對我們來說是透明的,由作業系統完成。也就是說,我們呼叫fopen()函式來通知作業系統,讓作業系統開啟一個檔案。

那麼,我們如何告訴作業系統開啟檔案呢?

看似簡單的操作到底層都非常複雜,開啟檔案首先要掃描硬碟,找到檔案的位置,然後從檔案中讀取一部分資料,將資料放進I/O緩衝區,放進記憶體;這些資料都是0、1序列,還要對照ASCII表或Unicode表”翻譯“成字元,再在顯示器上顯示出來。這個過程如果要讓程式設計師來完成,那簡直是噩夢!

怎麼辦呢?Windows想了一個很好的辦法,它預先把這些複雜的操作寫在一個函式裡面,編譯成動態連結庫(DLL),隨Windows一起釋出,程式設計師只需要簡單地呼叫這些函式就可以完成複雜的工作,讓程式設計變得簡單有趣。

這些封裝好的函式,叫做 API(Application Programming Interface),即應用程式程式設計介面。

API 函式以C語言的形式向外暴露,可以通過C語言直接呼叫。

除了函式,Windows 還預先定義了很多資料型別(使用C語言的 typedef 關鍵字定義)。廣義上來說,這些資料型別也是 API 的一部分。

API 遮蔽了很多細節,大大簡化了程式設計師的工作,這就是作業系統的威力,不但讓普通使用者使用方便,也讓程式設計師如釋重負。

在Windows上執行的程式(包括MS-DOS程式),本質上都是通過呼叫Windows API來完成功能的,包括QQ、360、VC6.0等,別看這些團隊牛,也不可能從底層做起,那簡直不可想象。

C語言也一樣,也是呼叫Windows API,fopen() 函式就是通過呼叫 CreateFile() 函式實現的。CreateFile() 是Windows API中的一個函式,可以用來開啟或建立檔案。

通常所說的 SDK 程式設計就是直接呼叫API 函式進行程式設計。SDK 是 Software Development Kit 的縮寫,即軟體開發工具包。

Windows API 函式成千上萬,詳細瞭解每一個函式的用法是不可能的,也是完全沒有必要的。只需知道哪些功能由哪些API 函式提供就行了,等使用它們時再去查閱幫助檔案。

帶介面的程式的專業稱呼是GUI程式。GUI 是 Graphical User Interface 的簡寫,即圖形使用者介面。教你使用 Windows API 來編寫GUI程式,程式語言為C語言。

你或許學C語言很久了,沒什麼感覺,可能學python都可以抓取網站的資料了,C語言還是默默無聲。

不要放棄,今天我們介紹了windows程式設計,windows程式設計就是運用C語言,我們的底層系統C語言的傑出作品。


另外如果你想更好的提升你的程式設計能力,學好C語言C++程式設計!彎道超車,快人一步!

C語言C++程式設計學習交流圈子,【點選進入】微信公眾號:C語言程式設計學習基地

分享(原始碼、專案實戰視訊、專案筆記,基礎入門教程)

歡迎轉行和學習程式設計的夥伴,利用更多的資料學習成長比自己琢磨更快哦!

程式設計學習書籍分享:

程式設計學習視訊分享: