最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

C/C++編程筆記:Windows編程入門(mén)知識(shí),帶你從C語(yǔ)言到Windows

2020-10-16 22:29 作者:C語(yǔ)言編程__Plus  | 我要投稿

引言:

學(xué)習(xí)C語(yǔ)言很久了,是不是一直在跟黑乎乎的屏幕打交道,像QQ、360、VC6.0這樣的軟件都是帶界面的,怎么做到的呢?

前面我們講的”黑屏“叫控制臺(tái)應(yīng)用程序(Win32 Console Application),也稱(chēng)DOS程序(或MS-DOS程序)。DOS是早期的命令式操作系統(tǒng),很難做出漂亮的界面,除了開(kāi)發(fā)人員,”黑屏“對(duì)普通用戶(hù)很不友好。


帶界面的程序叫Windows應(yīng)用程序(Win32 Application)。Windows是一款現(xiàn)代操作系統(tǒng),帶有豐富的交互界面,使用簡(jiǎn)單,無(wú)需記憶繁雜的命令。

使用C語(yǔ)言可以開(kāi)發(fā)出Windows應(yīng)用程序,也就是帶界面的程序,只是絕大部分C語(yǔ)言教程沒(méi)有講,它們只講了基本語(yǔ)法,讓很多初學(xué)者認(rèn)為學(xué)C語(yǔ)言沒(méi)用,什么都做不出來(lái)。

其實(shí)不是這樣的,C語(yǔ)言只是一種工具,需要與Windows系統(tǒng)結(jié)合,借助Windows提供的函數(shù)才能開(kāi)發(fā)出漂亮的程序。

Windows API 編程、Windows編程、Windows SDK 編程是一個(gè)概念。


什么是windos編程?

在C語(yǔ)言中,使用fopen()函數(shù)可以打開(kāi)一個(gè)文件,感覺(jué)非常簡(jiǎn)單。文件保存在硬盤(pán)上,要經(jīng)過(guò)復(fù)雜的處理才能顯示,這些細(xì)節(jié)對(duì)我們來(lái)說(shuō)是透明的,由操作系統(tǒng)完成。也就是說(shuō),我們調(diào)用fopen()函數(shù)來(lái)通知操作系統(tǒng),讓操作系統(tǒng)打開(kāi)一個(gè)文件。

那么,我們?nèi)绾胃嬖V操作系統(tǒng)打開(kāi)文件呢?

看似簡(jiǎn)單的操作到底層都非常復(fù)雜,打開(kāi)文件首先要掃描硬盤(pán),找到文件的位置,然后從文件中讀取一部分?jǐn)?shù)據(jù),將數(shù)據(jù)放進(jìn)I/O緩沖區(qū),放進(jìn)內(nèi)存;這些數(shù)據(jù)都是0、1序列,還要對(duì)照ASCII表或Unicode表”翻譯“成字符,再在顯示器上顯示出來(lái)。這個(gè)過(guò)程如果要讓程序員來(lái)完成,那簡(jiǎn)直是噩夢(mèng)!

怎么辦呢?Windows想了一個(gè)很好的辦法,它預(yù)先把這些復(fù)雜的操作寫(xiě)在一個(gè)函數(shù)里面,編譯成動(dòng)態(tài)鏈接庫(kù)(DLL),隨Windows一起發(fā)布,程序員只需要簡(jiǎn)單地調(diào)用這些函數(shù)就可以完成復(fù)雜的工作,讓編程變得簡(jiǎn)單有趣。


這些封裝好的函數(shù),叫做 API(Application Programming Interface),即應(yīng)用程序編程接口。

API 函數(shù)以C語(yǔ)言的形式向外暴露,可以通過(guò)C語(yǔ)言直接調(diào)用。

除了函數(shù),Windows 還預(yù)先定義了很多數(shù)據(jù)類(lèi)型(使用C語(yǔ)言的 typedef 關(guān)鍵字定義)。廣義上來(lái)說(shuō),這些數(shù)據(jù)類(lèi)型也是 API 的一部分。

API 屏蔽了很多細(xì)節(jié),大大簡(jiǎn)化了程序員的工作,這就是操作系統(tǒng)的威力,不但讓普通用戶(hù)使用方便,也讓程序員如釋重負(fù)。

在Windows上運(yùn)行的程序(包括MS-DOS程序),本質(zhì)上都是通過(guò)調(diào)用Windows API來(lái)完成功能的,包括QQ、360、VC6.0等,別看這些團(tuán)隊(duì)牛,也不可能從底層做起,那簡(jiǎn)直不可想象。

C語(yǔ)言也一樣,也是調(diào)用Windows API,fopen() 函數(shù)就是通過(guò)調(diào)用 CreateFile() 函數(shù)實(shí)現(xiàn)的。CreateFile() 是Windows API中的一個(gè)函數(shù),可以用來(lái)打開(kāi)或創(chuàng)建文件。

通常所說(shuō)的 SDK 編程就是直接調(diào)用API 函數(shù)進(jìn)行編程。SDK 是 Software Development Kit 的縮寫(xiě),即軟件開(kāi)發(fā)工具包。

Windows API 函數(shù)成千上萬(wàn),詳細(xì)了解每一個(gè)函數(shù)的用法是不可能的,也是完全沒(méi)有必要的。只需知道哪些功能由哪些API 函數(shù)提供就行了,等使用它們時(shí)再去查閱幫助文件。


帶界面的程序的專(zhuān)業(yè)稱(chēng)呼是GUI程序。GUI 是 Graphical User Interface 的簡(jiǎn)寫(xiě),即圖形用戶(hù)界面。教你使用 Windows API 來(lái)編寫(xiě)GUI程序,編程語(yǔ)言為C語(yǔ)言。

你或許學(xué)C語(yǔ)言很久了,沒(méi)什么感覺(jué),可能學(xué)python都可以抓取網(wǎng)站的數(shù)據(jù)了,C語(yǔ)言還是默默無(wú)聲。

不要放棄,今天我們介紹了windows編程,windows編程就是運(yùn)用C語(yǔ)言,我們的底層系統(tǒng)C語(yǔ)言的杰出作品。

另外如果你想更好的提升你的編程能力,學(xué)好C語(yǔ)言C++編程!彎道超車(chē),快人一步!

分享(源碼、項(xiàng)目實(shí)戰(zhàn)視頻、項(xiàng)目筆記,基礎(chǔ)入門(mén)教程)

歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長(zhǎng)比自己琢磨更快哦!

學(xué)習(xí)C/C++編程知識(shí),提升C/C++編程能力,歡迎關(guān)注UP一起來(lái)成長(zhǎng)!
另外,UP在主頁(yè)上傳了一些學(xué)習(xí)C/C++編程的視頻教程,有興趣或者正在學(xué)習(xí)的小伙伴一定要去看一看哦!會(huì)對(duì)你有幫助的~

編程學(xué)習(xí)書(shū)籍分享:

編程學(xué)習(xí)視頻分享:


C/C++編程筆記:Windows編程入門(mén)知識(shí),帶你從C語(yǔ)言到Windows的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
合江县| 衡阳县| 静宁县| 龙口市| 朔州市| 大英县| 阿拉尔市| 靖宇县| 抚州市| 卫辉市| 昭平县| 林周县| 彩票| 张北县| 蛟河市| 集安市| 措勤县| 皮山县| 宁夏| 乐清市| 秀山| 西畴县| 德庆县| 东乡县| 皮山县| 南陵县| 探索| 绍兴市| 霸州市| 民丰县| 星子县| 武清区| 铜山县| 来安县| 闻喜县| 富民县| 玉山县| 社会| 南投市| 嘉禾县| 宁国市|