01 2008 檔案
摘要: 處理在程序的運行時刻發(fā)生的錯誤,對于任何一個程序設(shè)計者來講都是不陌生的。對于錯誤的處理,我們有很多方法,本篇著重介紹的是C++中的錯誤異常處理。
閱讀全文
摘要: 論壇上經(jīng)常有對P2P原理的討論,但是討論歸討論,很少有實質(zhì)的東西產(chǎn)生(源代碼)。呵呵,在這里我就用自己實現(xiàn)的一個源代碼來說明UDP穿越NAT的原理。
閱讀全文
摘要: 該文重點講述了Windows處理事件、消息的具體過程和步驟。尤其是在系系處理鼠標鍵盤事件的過程上做了詳解。通過這篇文章,你將對Windows的消息處理機制有一個較全面的了解。
閱讀全文
摘要: FAX/MODEM首先用于傳真業(yè)務(wù),近幾年發(fā)展極為迅速,取得了極大成功。隨著技術(shù)的發(fā)展和人們認識的提高,人們拓寬了FAX/MODEM的功能,把它用于廣域網(wǎng)絡(luò)通信中,F(xiàn)AX/MODEM能從微機接受串行數(shù)據(jù),直接傳給另一端的FAX機或另一臺FAX/MODEM,所以使用微機通過程控電話網(wǎng)和FAX/MODEM互聯(lián)起來可以組成一個廣域網(wǎng)絡(luò)系統(tǒng),當兩臺微機撥號聯(lián)上后,它們就獨占了一條電話線路,它們之間就像本地通信一樣(光電傳輸速度108米/秒)方便[1]。
閱讀全文
摘要: 首先看一下sizeof在msdn上的定義:
The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type (including aggregate types). This keyword returns a value of type size_t.
看到return這個字眼,是不是想到了函數(shù)?錯了,sizeof不是一個函數(shù),你見過給一個函數(shù)傳參數(shù),而不加括號的嗎?sizeof可以,所以sizeof不是函數(shù)。網(wǎng)上有人說sizeof是一元操作符,但是我并不這么認為,因為sizeof更像一個特殊的宏,它是在編譯階段求值的。
閱讀全文
摘要: sizeof是C語言的一種單目操作符,如C語言的其他操作符++、--等。它并不是函數(shù)。sizeof操作符以字節(jié)形式給出了其操作數(shù)的存儲大小。操作數(shù)可以是一個表達式或括在括號內(nèi)的類型名。操作數(shù)的存儲大小由操作數(shù)的類型決定。
閱讀全文
摘要: sizeof()功能:計算數(shù)據(jù)空間的字節(jié)數(shù)
閱讀全文
摘要: 分別有如下功能:可打印字符串轉(zhuǎn)換為字節(jié)數(shù)據(jù)。字節(jié)數(shù)據(jù)轉(zhuǎn)換為可打印字符串。7bit編碼。7bit解碼。8bit編碼。8bit解碼。UCS2編碼。UCS2解碼。正常順序的字符串轉(zhuǎn)換為兩兩顛倒的字符串,若長度為奇數(shù),補'F'湊成偶數(shù)。兩兩顛倒的字符串轉(zhuǎn)換為正常順序的字符串。PDU編碼,用于編制、發(fā)送短消息。PDU解碼,用于接收、閱讀短消息。 初始化GSM狀態(tài)。 發(fā)送短消息,僅發(fā)送命令,不讀取應(yīng)答。 讀取短消息,僅發(fā)送命令,不讀取應(yīng)答。讀取GSM MODEM的應(yīng)答,可能是一部分。從列表中解析出全部短消息。
閱讀全文
摘要: Socket有同步阻塞方式和異步非阻塞方式兩種使用,事實上同步和異步在我們編程的生涯中可能遇到了很多,而Socket也沒什么特別。雖然同步好用,不費勁,但不能滿足一些應(yīng)用場合,其效率也很低。
也許初涉編程的人不能理解“同步(或阻塞)”和“異步(或非阻塞)”,其實簡單兩句話就能講清楚,同步和異步往往都是針對一個函數(shù)來說的,“同步”就是函數(shù)直到其要執(zhí)行的功能全部完成時才返回,而“異步”則是,函數(shù)僅僅做一些簡單的工作,然后馬上返回,而它所要實現(xiàn)的功能留給別的線程或者函數(shù)去完成。
閱讀全文
摘要: 利用Visual C++在windows環(huán)境下設(shè)計異步串行通信程序可以使用不同的方法。一種方法可以使用windows系統(tǒng)提供的串行口API函數(shù);另一種方法可以直接使用Microsoft公司提供的ActiveX控件MSCOMM.OCX。利用MSCOMM.OCX控件進行串行口程序設(shè)計相對比較簡單,只要對該控件的屬性、事件和方法進行設(shè)置和操作,就能完成簡單的串行通信功能。而直接使用windows系統(tǒng)提供的串行口API函數(shù)則相對較為靈活。試驗中,可根據(jù)自己的情況任意其中一種進行編程。以下針對如何使用windows系統(tǒng)提供的串行口API函數(shù)進行編程做簡要介紹
閱讀全文
摘要: Windows是一個多任務(wù)操作系統(tǒng)。傳統(tǒng)的Windows 3.x只能依靠應(yīng)用程序之間的協(xié)同來實現(xiàn)協(xié)同式多任務(wù),而Windows 95/NT實行的是搶先式多任務(wù)。
在Win 32(95/NT)中,每一個進程可以同時執(zhí)行多個線程,這意味著一個程序可以同時完成多個任務(wù)。對于象通信程序這樣既要進行耗時的工作,又要保持對用戶輸入響應(yīng)的應(yīng)用來說,使用多線程是最佳選擇。當進程使用多個線程時,需要采取適當?shù)拇胧﹣肀3志€程間的同步。
利用Win 32的重疊I/O操作和多線程特性,程序員可以編寫出高效的通信程序。在這一講的最后將通過一個簡單的串行通信程序,向讀者演示多線程和重疊I/O的編程技術(shù)。
閱讀全文
摘要: Overlapped I/O也稱Asynchronous I/O,異步I/O模型。異步I/O和同步I/O不同,同步I/O時,程序被掛起,一直到I/O處理完,程序才能獲得控制。異步I/O,調(diào)用一個函數(shù)告訴 OS,進行I/O操作,不等I/O結(jié)束就立即返回,繼續(xù)程序執(zhí)行,操作系統(tǒng)完成I/O之后,通知消息給你。Overlapped I/O只是一種模型,它可以由內(nèi)核對象(hand),事件內(nèi)核對象(hEvent), 異步過程調(diào)用(apcs) 和完成端口(I/O completion)實現(xiàn)。
閱讀全文
摘要: OVERLAPPED,顧名思義為重疊,乍一看會很奇怪,重疊?誰跟誰重疊?似乎在WIN32的Programming中沒有這個概念呀?要討論這個問題就要追溯到對設(shè)備I/O的訪問中
閱讀全文
摘要: Windows Sockets在頭文件winsock.h中定義了所有的錯誤碼,它們包括以“WSA”打頭的Windows Sockets實現(xiàn)返回的錯誤碼和Berkeley Sockets定義的錯誤碼全集。定義Berkeley Sockets錯誤碼是為了確保原有軟件的可移植性。
閱讀全文