導航:首頁 > 編程語言 > windows編程的特點

windows編程的特點

發布時間:2022-08-30 00:26:11

㈠ 和控制台程序相比,Windows應用程序編程有何特點

1、參見:http://..com/question/12810776.html
在VC里建一個win32 application和一個win32 console application,兩個dsp工程文件對比一下,你會發現應用程序里的subsystem:windows,控制台程序里的subsystem:console。
subsystem這個鏈接選項告訴Windows如何運行可執行文件。
subsystem是console的話,Windows在進入可執行文件的代碼前,就會產生一個控制台窗口。
subsystem是windows的話,操作系統就不產生console窗口,該應用程序的窗口由用戶自己創建。
2、http://..com/question/314655650.html

控制台程序比較節省系統資源,寫非常大的服務端程序,非常消耗系統資源的時候,建議用控制台程序,別看那麼幾個控制項、按鈕佔地方不大,內存都是一點點擠出來,又一點點消耗掉的。
控制台模式還有個優點就是,不會因為線程被阻塞就停止響應,換句話說,如果你只是做1對1,或者n(n<10)對1的時候,如果你選用最見的阻塞型的select模型的話,控制台不會被阻塞,但是窗口程序就會停止響應了(線程越多越佔用系統資源,線程切換的時候,系統對堆棧的操作效率極其低下,所以不是線程越多越好,所以你可以每個IP一個線程來達到避免停止響應,但是不建議這么做)
3、程序的主要區別應該是入口函數不一樣,因為界面顯示所使用的類庫不同。
4、http://..com/question/8861937.html
Windows編程的主要特點有:
圖形界面 面向對象程序設計
事件驅動 高效的內存管理
設備獨立性 動態連接
1.1.1 圖形界面
漂亮、統一的圖形用戶界面;
菜單條、工具條、狀態條等基本對象;
方便、快捷的聯機幫助;可以同時瀏覽多個界面。
1.1.2 面向對象程序設計
採用面向對象技術開發基於Windows的應用程序能更好地發揮操作系統本身的優勢。
1.1.3 事件驅動
面向對象程序設計最根本的特點就是事件驅動。
與事件驅動相對應的是過程驅動。
5、其實,現在往深處想想,竟然沒什麼不同的。
控制台上也可以實現GUI,圖形界面也可以使用控制台命令

只是一般控制台用來編寫服務類、驅動類程序,窗口用來做末端用戶配置。

㈡ 請比較linux與Windows在網路編程方面的特點

找了一段,大致涉及到了您的問題:

一、socket的模式
socket一般有兩種模式:同步和非同步(windows網路編程技術中也可叫鎖定和非鎖定,Linux網路編程叫阻塞和非阻塞)。

二、socket的類型

socket一般有三種類型,基於TCP的流式套接字,基於UDP的數據報套接字和原始套接字。

三、socket的IO模型

socket
的IO模型是編程中使用socket兩種模式的策略,它們適用的場合不同,在不同的操作系統上支持的模型也不同,例如windows從NT版本才開始支持
完成埠模型。Linux和Windows所支持的模型也有區別,當然也有相同的地方,可能叫法不一樣,但大致思路是一樣的,下面分別介紹windows
和Linux的IO模型

1、 Windows下的套接字IO模型:

A、 Select(選擇)模型
用於同步socket的狀態檢測模型,又叫(Linux)多路復用,可以同時檢測多個socket的狀態

B、 WSAAsyncSelect(非同步選擇)模型
用於非同步socket的非同步事件設置,它是基於Windows消息的模型,必須先打開一個窗口,然後把窗口和socket的消息綁定,這樣,在socket有消息通知時,操作系統便通知窗口,然後在窗口進行處理。

C、 WSAEventSelect(非同步事件)模型

於非同步socket的非同步事件,它是基於網路事件的模型,先使用CreateEvent創建一個事件,然後使用WSAEventSelect進行事件綁
定,然後可以使用WaitForMultipleObject(Event)進行事件監聽,可以同時監聽多個事件,不光是socket的,比如可以監聽使
用CreateWaitableTimer創建的Timer等。

D、 重疊IO模型

於非同步socket,在創建socket時需要在創建函數WSASocket中使用WSA_FLAG_OVERLAPPED標志,然後在投遞IO請求的時
候將一個Overlapped結構體指針賦給投遞函數,可以使用WSAWaitForMultipleObject來監聽事件,然後使用
WSAGetOverlappedResult來獲取IO的狀態,也可以在Overlapped結構體中使用完成常式來處理,即在投遞函數中把完成常式賦
給投遞函數。

E、 完成埠模型

是迄今為止最復雜的一種IO模型,當應用程序需要管理眾多的套接字並且希望隨著系統內安裝的CPU數目的增多,應用程序的性能也可以線性增加,就可以使用
這種模型,它的原理是每個CPU可以單獨負責一個線程的執行,避免線程的頻繁切換。使用這種模型往往可以達到最佳的系統性能。

先需要使用CreateIOCompletePort來創建完成埠,然後將IO句柄和此埠綁定,綁定也是使用此函數,當然也可以一次完成。接著是創建
工作者線程,工作者線程會使用GetQueuedCompletionStatus進入完成埠維護的線程池,當有完成事件時,會激活一個線程。

2、 Linux下的IO模型

A、阻塞IO

B、非阻塞IO

C、IO多路復用(選擇)

D、信號驅動
用於非同步socket,首先設定信號處理函數,然後使用fcntl函數設定socket的擁有者,像windows下使用WSAAsncSelect設定socket的窗口一樣。使用這種模型,當內核操作可以被操作的時候通知我們的應用程序

E、非同步IO
當內核在所有操作完成後才會通知應用程序

四、socket的一些使用上的優化

A、緩沖區的優化,可以考慮讓應用程序使用比較小的緩沖區,但同時使用多個WSARecv

B、使用socket選項SO_SNDBUF和SO_RCVBUF設置socket緩沖區大小,如果設為0,操作體系統會使用應用程序的緩沖區,這樣避免了從系統緩沖區向用戶區復制的開銷

五、注意這些IO模型有些不光是針對socket的,其他的IO操作也可以使用,最常用使用的是WriteFile,ReadFile等函數。

其它查考網址:
http://blog.163.com/tianle_han/blog/static/6617826200821522743948/
http://blog.csdn.net/yibulianhua/article/details/5374317

㈢ windows的編程特點有哪些

走套路,這時由win32系統本身的設計決定的。
一般的win32就是注冊窗口類,建立窗口,消息循環等,這個套路是固定的;
mfc/wtl或是其它的編程框架也是遵循這個套路,只不過把他封裝起來了。

㈣ windows的特點是什麼

要說特點那就得對比linux系統說了。

1. windows是不開源的,

因為這點微軟掙到了很多錢,也因此windows系統穩定性遠遠落後於linux。
因為開源的話,大家都能看到系統的不足,一起去改善,於是就會有定製型,且用於linux的軟體很多很多。

2.windows用戶界面友好

對於windows的窗口化操作,使得佔用了絕大多數的個人用戶,各種exe程序安裝起來也是非常方便。由於使用簡單,許多軟體有windows版本,而未必存在linux版。
相比windows操作系統,linux對顯卡的支持有所欠缺。

3.windows是收費的操作系統

windows的操作系統全部都是收費的,並且隨著不斷更新,更是上千,伺服器版本乃至上萬。

㈤ Windows程序設計與C語言的主要區別是什麼

一、主體不同

1、Windows程序設計:基於MFC類庫進行的程序開發設計。

2、C語言:是一門面向過程的、抽象化的通用程序設計語言,廣泛應用於底層開發。

二、特點不同

1、Windows程序設計:以C++類的形式封裝了Windows API,並且包含一個應用程序框架,以減少應用程序開發人員的工作量。

2、C語言:僅產生少量的機器語言以及不需要任何運行環境支持便能運行的高效率程序設計語言。盡管C語言提供了許多低級處理的功能,但仍然保持著跨平台的特性。


三、優缺點不同

1、Windows程序設計:包含大量Windows句柄封裝類和很多Windows的內建控制項和組件的封裝類。專心的考慮程序的邏輯,而不是這些每次編程都要重復的東西,但是由於是通用框架,沒有最好的針對性。

2、C語言:依靠非常全面的運算符和多樣的數據類型,可以輕易完成各種數據結構的構建,通過指針類型更可對內存直接定址以及對硬體進行直接操作,因此既能夠用於開發系統程序,也可用於開發應用軟體。



㈥ 簡述使用visual c++進行Windows編程的幾種方案流程以及各自對應的優缺點

打開visual c++,點菜單欄《文件》,然後點《新建》,在彈出的對話框中工程欄中選擇MFC AppWizard(exe),輸入工程名稱和保存的位置,點擊確定,在彈出的對話框中選擇基本對話框,點擊完成,在彈出的編輯界面中就可以添加按鈕,編寫程序,編寫完成後點運行就看到效果了。
個人理解是只有一種,window編程是指編寫window環境下的軟體。但我們可以用不同的開發工具和不同的語言來進行window編程.比如工具有Microsoft Visual C++ 6.0、Microsoft Visual Studio 2005、delphi等工具。語言有c、c++、java 、pascal等。而你所認為的各種編唾分類是針對不同的方面進行的。比如windows核心編程就涉及到硬體方面,根據硬體怎樣分配資源,怎樣回收等分方面。而網路編程是針對網路方面劃分的。涉及到伺服器與客戶機等。windows圖形編程自然與圖形編輯有關。windows系統編程針對操作系統的編寫。你列出的概念還真是具體啊。我並不是萬能,也不能用簡短的回答就能解譯的清楚的。有些解譯深度不夠,再所能免。只是為了認你清楚這些是針對不同方面聯系較深而作出的概念而已。就象說話,對一個事物,可能有不同的叫法來表現事物與哪方面聯系較深。游戲編程與游戲較多。假如有一種在windowsg下的編程與電影聯系較深有能力為它命名為windows電影編程。我是說假如。希望不會誤導你。
你的第三個問題是選擇看書吧。本人認為選擇哪本書並不是很重要。關鍵是你提取知識方面。從具體的編程來是,程序就是指令的集合,而軟體開始一個重要的方面就是寫指令(寫代碼)。代碼的書寫要用編程語言。所以編程就是根據編程語言進行創造的過程。所以真正想做軟體開發方面的話,首先要打好基礎。首先選擇一門比較有感覺的人。比如c,c++,pascal,但不可移植到其它操作系統.java可以跨平台,可以把widow環境下開發的軟體直接拿到unix等操作系統使用。不知道你水平如何,但我建議選c++有關的書。其中就有你想要的window編程,使用API函數和各網友所說的用MFC開發。如果想快一點開發你所認為的開發一些有用的實際的東西,那我建議你有delphi7軟體開發。

㈦ 什麼是windows編程

windows編程就是按照windows自己定製標准編程,而界面編程可以很多,基本上你能看到有界面的都可以說是界面編程,不過一般認識的都是windows
api的,不過現在qt也火。這兩個是有交叉的。

㈧ windows編程和編程有什麼不同

這個問題啊~~
怎麼說呢
windows編程顧名思義是在window操作系統下的編程
它需要調用系統提供給你的API函數
來讓你用這些api完成你的程序
==============================================================
你說的普通編程
是DOS窗口下的編程的意思嗎?
如果是的話
那他們最大的也最直觀的區別就是:
你說的普通的編程離不開那個黑洞洞~~
而windows編程都會有一個窗口界面
就像你所使用的軟體一樣
希望對你有幫助

閱讀全文

與windows編程的特點相關的資料

熱點內容
卸載聯想app哪個好 瀏覽:719
php文字轉圖片 瀏覽:328
豆客後台怎麼加密碼 瀏覽:574
jpg轉換pdf破解版 瀏覽:978
php基礎書籍推薦 瀏覽:775
伺服器與外網不通如何驗證 瀏覽:351
電子版是不是就是文件夾 瀏覽:50
游戲屬性文件加密 瀏覽:462
如何讓安卓手機桌面圖標下移 瀏覽:528
ubuntuphp5環境搭建 瀏覽:99
賭癮解壓視頻 瀏覽:917
晉城移動dns伺服器地址 瀏覽:294
php開源文庫系統 瀏覽:134
android記事本源碼 瀏覽:407
安卓11小游戲怎麼玩法 瀏覽:190
gif有損壓縮 瀏覽:937
windows下安裝linux命令操作 瀏覽:844
米家app怎麼設置進門亮燈 瀏覽:652
任我行伺服器為什麼會影響截圖 瀏覽:296
安卓留言板怎麼刪除 瀏覽:18