999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

VC++編程技術(shù)與技巧研究

2015-11-08 05:29:34鐘垣如
計算機與網(wǎng)絡(luò) 2015年11期
關(guān)鍵詞:技巧用戶

鐘垣如

(福建星海通信科技有限公司,福建 福州 300008)

VC++編程技術(shù)與技巧研究

鐘垣如

(福建星海通信科技有限公司,福建福州300008)

VC++語言是目前較流行的計算機編程語言,其處理機制和封裝功能為編程者提供了極大的方便。本文探討VC++語言的編程特點和方法,給出了VC++多線程編程的相關(guān)技巧。

VC++語言編程技術(shù)多線程編程技巧

1 引言

VC++語言是目前使用范圍最廣的計算機高級編程語言,它是在C語言的基礎(chǔ)上演變而來的,也是對C語言的繼承、豐富和發(fā)展。VC++語言的出現(xiàn)為Windows開發(fā)開辟了新的天地,借助ApplicationWizard使得開發(fā)人員擺脫了那些每次必寫的基本代碼,借助ClassWizard和消息映射使得開發(fā)人員擺脫了定義消息處理時的那種混亂和冗長的代碼段;VC++利用C++中的對象,使得開發(fā)人員可以遠離系統(tǒng),從而更加接近開發(fā)語言。總之,VC++減少了程序編寫和調(diào)試的工作量,提高了軟件的可復(fù)用性、可擴展性,縮短了軟件的開發(fā)周期。

2 VC++編程方法

在一般情況下,使用VC++語言進行編程時,有2種方法,一是API;二是MFC。在API編程方式下,應(yīng)用程序是由多個函數(shù)組成的,開發(fā)人員可以用API的參考手冊了解每一個函數(shù)的功能和使用方法;MFC為開發(fā)人員進行編程提供了基本的類庫,可以減少開發(fā)時的編碼工作量,利用C++語言的繼承和封裝特性,可以輕松進行編碼。另外,MFC是可以進行移植的,代碼可以從windows 3.1移植到windows 98或者是windows NT等相關(guān)平臺。

建立一個應(yīng)用程序,首先要設(shè)計用戶界面。開發(fā)人員根據(jù)需求分析的結(jié)果,判定用戶所需要的功能,并根據(jù)用戶的需求設(shè)置相應(yīng)的用戶界面對象。Windows應(yīng)用程序的界面有一些標準的控件,比如菜單、按鈕、列表框和滾動條等,開發(fā)人員可以根據(jù)程序的需要進行選擇組合,并將它們合理布局在屏幕上。在進行界面設(shè)計時,要從用戶的角度進行設(shè)計,做到界面友好,簡潔,以方便用戶使用為基本原則。

接著就是進行代碼實現(xiàn)了,程序開發(fā)人員可以使用API、MFC類庫或者混合編程。通常情況下使用MFC進行編程,因為MFC效率高,可以大大減少代碼的編寫量。在使用MFC編程時,編寫的代碼是用來控制用戶界面上的各種元素的,并定制這些元素的外觀特征,除此之外,還要編寫用來響應(yīng)用戶操作和使用這些控制的代碼程序。比如,當用戶單擊一個按鈕時,應(yīng)該有相應(yīng)的代碼來響應(yīng)用戶的操作,也就是通常所說的事件驅(qū)動代碼,它構(gòu)成了所有的應(yīng)用程序。

3 編程技巧

在VC++編程過程中,如果能掌握一定的編程技巧,則能夠比較容易地實現(xiàn)編程的過程。在比較簡單的程序中,主要是通過MFC提供的函數(shù)以及新類的產(chǎn)生來執(zhí)行任務(wù),通過對不同性質(zhì)的函數(shù)綜合運用,來實現(xiàn)應(yīng)用程序的功能。在VC++編程過程上,如果涉及到多線程編程,就會變得比較復(fù)雜,下面主要講解多線程編程的一些技巧。

MFC有兩類線程,分別是User Interface Thread(用戶界面UI線程)和Worker Thread(工作者線程),兩者的主要區(qū)別在于工作者進程沒有消息循環(huán),用戶界面進程有自己的消息隊列和消息循環(huán)。由于工作者進程沒有消息機制,它通常用于執(zhí)行后臺計算和維護任務(wù),比如打印機后臺處理程序、冗長的計算過程等。用戶界面進程主要用于處理獨立于線程之外的用戶輸入、響應(yīng)用戶以及系統(tǒng)產(chǎn)生的各種消息和事件等。用戶界面線程的一個典型應(yīng)用就是CWinApp類,它是CWinThread類的派生類,提供應(yīng)用程序的主線程,并負責處理用戶產(chǎn)生的事件和消息。

(1)創(chuàng)建線程

要創(chuàng)建一個線程,MFC需要調(diào)用全局函數(shù)AfxBeginThread()。無論是工作者線程還是用戶界面線程,都需要指定額外的參數(shù)以修改優(yōu)先級、堆棧大小、創(chuàng)建標志和安全特性等。函數(shù)AfxBeginThread返回指向CWinThread類對象的指針。線程的入口函數(shù)聲明如下:

UINT MyControllingFunction(LPVOID pParam);

該參數(shù)接收的值將在線程對象創(chuàng)建時傳遞給構(gòu)造函數(shù),入口函數(shù)將用某種方式解釋該值。它可以是數(shù)量值,或是指向包括多個參數(shù)的結(jié)構(gòu)的指針,甚至可以忽略。函數(shù)結(jié)束時,應(yīng)返回一個UINT類型的值,并指明結(jié)束的原因。通常,返回0表明成功,其它值則代表不同的錯誤。

(2)啟動線程

由函數(shù)AfxBeginThread創(chuàng)建并初始化一個CWinThread類的對象,啟動并返回該線程的地址,則線程進入運行狀態(tài)。下面用簡單的代碼說明怎樣定義一個入口函數(shù)以及如何在程序的其他部分使用。

(3)線程同步

編寫多線程應(yīng)用程序最重要的問題就是線程之間的資源同步訪問,多個線程在共享資源時如果發(fā)生訪問沖突,會產(chǎn)生不可預(yù)知的結(jié)果。MFC提供了一組同步和同步訪問類來解決這個問題。其中,同步對象包括:CsyncObject(同步對象)、Csemaphore(信號量)、Cmutex(互斥對象)、CcriticalSection(臨界區(qū))和Cevent(事件對象);同步訪問對象包括:CMultiLock和CSingleLock。同步類用于訪問資源時保證資源的整體性。其中CSyncObject是其他4個同步類的基類,不直接使用。信號同步類CSemaphore通常用于當一個應(yīng)用程序中同時有多個線程訪問一個資源的情況(例如,應(yīng)用程序允許對同一個Document有多個View);事件同步類CEvent通常用于在應(yīng)用程序訪問資源之前應(yīng)用程序必須等待的情況(比如,在數(shù)據(jù)寫進一個文件之前數(shù)據(jù)必須從通信端口得到);互斥同步類CMutex和臨界區(qū)同步類CCriticalSection都是用于保證一個資源一次只能有一個線程訪問,二者的不同之處在于前者允許有多個應(yīng)用程序使用該資源,例如,該資源在一個DLL當中,而后者則不允許對同一個資源的訪問超出進程的范疇,而且使用臨界區(qū)的方式效率比較高。

4 結(jié)束語

VC++是建立在Windows平臺上的一種編程語言,受到很多開發(fā)人員的青睞,但是很多人認為VC++入門和編程存在一定的難度。在剛開始接觸VC時,不要急于Windows開發(fā),應(yīng)該進行一些字符界面程序的編寫,增加對語言的熟悉程度,同時也訓(xùn)練自己的思維方式和掌握編程的流程,知悉在編程時常犯的錯誤。實際上,只要掌握VC++的編程技術(shù)和方法,靈活運用VC++的各種特性,特別是利用MFC進行開發(fā),就能便捷實現(xiàn)應(yīng)用程序的功能。

[1]鄒麗.淺談VC++編程技術(shù)與技巧研究[J].計算機光盤軟件與應(yīng)用,2012(12):187-189.

[2]石通.C++語言編程技術(shù)分析[J].電腦編程技巧與維護,2011 (14):19-20+22.

[3]范晶.在VC++中使用ADO方式對ACCESS數(shù)據(jù)庫進行操作[J].廣播電視信息,2014(11):77-78.

Research on VC++Programming Technology and Skills

ZHONG Yuan-ru
(Fujian Xinghai Communication Science And Technology Co.,Ltd.Fuzhou Fujian 300008)

Language VC++is currently more popular computer programming language,the processing mechanism and the package functionality provides great convenience for the programmer.This paper discusses the programming characteristics and methods of VC++ and gives the relevant skills of VC++multithreaded programming.

VC++language;programming;multithreaded programming;skills.

G623.58

A

1008-1739(2015)11-71-2

定稿日期:2015-05-12

猜你喜歡
技巧用戶
肉兔短期增肥有技巧
網(wǎng)上點外賣的7個技巧
中老年保健(2021年4期)2021-08-22 07:10:02
開好家長會的幾點技巧
甘肅教育(2020年12期)2020-04-13 06:24:46
指正要有技巧
4個技巧快速消除頭上的飛發(fā)
提問的技巧
關(guān)注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關(guān)注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關(guān)注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
Camera360:拍出5億用戶
主站蜘蛛池模板: 婷婷激情五月网| 精品国产毛片| 日韩国产欧美精品在线| 日本午夜三级| 97人妻精品专区久久久久| 992tv国产人成在线观看| 蜜桃臀无码内射一区二区三区 | 她的性爱视频| 97青草最新免费精品视频| 中文字幕亚洲电影| 92精品国产自产在线观看| 国产欧美中文字幕| 亚洲人妖在线| 久久精品aⅴ无码中文字幕| 欧美成人影院亚洲综合图| 一本大道香蕉中文日本不卡高清二区| 99久久精品视香蕉蕉| 日韩天堂网| 色婷婷亚洲综合五月| 亚洲欧美成aⅴ人在线观看| 国产小视频免费观看| 国产精品开放后亚洲| 亚洲无码日韩一区| 精品国产乱码久久久久久一区二区| 午夜日韩久久影院| 2021国产v亚洲v天堂无码| 综合亚洲网| 久热精品免费| 九九久久精品免费观看| 这里只有精品在线| lhav亚洲精品| 99色亚洲国产精品11p| 国产成人三级| 伦伦影院精品一区| 国产精品成人免费视频99| 国产亚洲一区二区三区在线| 欧美三级不卡在线观看视频| 日韩一区二区三免费高清| 国产成人AV男人的天堂| 国产麻豆va精品视频| 午夜国产小视频| 国产精品福利社| 日韩欧美国产中文| 97国产一区二区精品久久呦| 熟妇人妻无乱码中文字幕真矢织江 | 国产婬乱a一级毛片多女| 成人精品午夜福利在线播放| 国产91无毒不卡在线观看| 国产精品欧美激情| 毛片手机在线看| 一本一道波多野结衣一区二区| 亚洲V日韩V无码一区二区| 亚洲AV无码乱码在线观看代蜜桃| 国产永久在线视频| 亚洲视频一区| 日本高清免费不卡视频| 亚洲免费黄色网| 国产精品视频系列专区| 操美女免费网站| 青青草原偷拍视频| 97超碰精品成人国产| 亚亚洲乱码一二三四区| 亚洲精品成人片在线播放| 久久一本日韩精品中文字幕屁孩| 少妇被粗大的猛烈进出免费视频| 欧美一区二区三区香蕉视| 国产91特黄特色A级毛片| 亚洲美女AV免费一区| 亚洲成在线观看| 色综合综合网| vvvv98国产成人综合青青| 国产欧美网站| 成人小视频在线观看免费| 精品剧情v国产在线观看| 国产成人AV综合久久| 色婷婷亚洲综合五月| 日韩AV无码一区| 九色国产在线| 狼友视频国产精品首页| 在线无码九区| 亚洲有码在线播放| 丁香五月婷婷激情基地|