原创 C/C++內存問題檢查利器—Purify (一)

C/C++內存問題檢查利器——Purify 本文來自CSDN博客,轉載:http://blog.csdn.net/haoel/archive/2003/12/11/2900.aspx 一、           引言 我們都知道軟件的測試(

原创 C/C++函數變長參數列表實現

在C編譯器通常提供了一系列處理可變參數的宏,實現就像printf()那樣的變長參數列表,這樣可以屏蔽不同的硬件平臺造成的差異,增加程序的可移植性。這些宏包括va_start、 va_arg和va_end等,這些宏都是在頭文件<stdarg

原创 Socket編程

對TCP/IP、UDP、Socket編程這些詞你不會很陌生吧?隨着網絡技術的發展,這些詞充斥着我們的耳朵。那麼我想問:1.         什麼是TCP/IP、UDP?2.         Socket在哪裏呢?3.         So

原创 c++實現多線程之小試牛刀

#include <cstdlib>#include <iostream>#include <windows.h> using namespace std;CRITICAL_SECTION cs;int a=0;DWORD WINAPI

原创 WinSock網絡編程實用寶典

一、TCP/IP 體系結構與特點   1、TCP/IP體系結構   TCP/IP協議實際上就是在物理網上的一組完整的網絡協議。其中TCP是提供傳輸層服務,而IP則是提供網絡層服務。TCP/IP包括以下協議:(結構如圖1.1) (圖1.1)

原创 Socket I/O模型全接觸

本文簡單介紹了當前Windows支持的各種Socket I/O模型,如果你發現其中存在什麼錯誤請務必賜教。     一:select模型    二:WSAAsyncSelect模型    三:WSAEventSelect模型    四:O

原创 ARP協議解碼詳解

一、ARP協議簡介ARP,全稱Address Resolution Protocol,中文名爲地址解析協議,它工作在數據鏈路層,在本層和硬件接口聯繫,同時對上層提供服務。IP數據包常通過以太網發送,以太網設備並不識別32位IP地址,它們

原创 WinSocket I/O Methods

1.首先你需要知道什麼是"Socket Modes",什麼是"Socket I/O Models"?Socket Modes : Determines how winsock functions behave when called wi

原创 eclipse開發c++之MinGw+eclipse+cdt安裝

一.環境的安裝與配置首先,當然必須要做的,就是下載軟件和插件。(1) JDK(jdk6)(2) Eclipse(3.6)(3) CDT插件(cdt-master-7.0.2)(4) MinGW編譯器(我用的是MinGW 5.1.6)其次就

原创 設計模式之簡單工廠(創建型模式)

    Factory模式的兩個最重要的功能:1)定義創建對象的接口,封裝了對象的創建;2)使得具體化類的工作延遲到了子類中。      //factory.h #ifndef _FACTORY_H_ #define _FACTORY

原创 幾種同步手段(互斥量,信號量,事件,臨界區)

環境:VISTA+VC6雙核這個環境對於下面的有些效果來說,十分關鍵。在我下面的練習中,如果是單核,那麼兩個線程無法真正的同時執行,而單個操作的耗時也並不長,可能看不到互斥訪問中的一些問題。在VISTA之前的一些系統,時間片比較大,也不容

原创 Windows Sockets錯誤碼

    Windows Sockets在頭文件winsock.h中定義了所有的錯誤碼,它們包括以“WSA”打頭的Windows Sockets實現返回的錯誤碼和Berkeley Sockets定義的錯誤碼全集。定義Berkeley Soc

原创 TCP/IP協議數據報結構詳解

      TCP/IP協議中各層的數據報結構是一個比較抽象的內容,大家在日常學習過程中往往難以理解和掌握,常常是死記硬背把它記住了事。本文首先利用Sniffer工具捕獲了FTP命令操作過程中的所有數據包,然後對Sniffer工具中捕獲

原创 orge安裝與配置

Orge安裝與配置   一.安裝並配置DirectX SDK     1.把DirectX SDK裏的include文件夾添加進包含文件中     2.把DirectX SDK裏的Lib/x86文件夾添加進庫文件中     3.把Dir

原创 不要隨便使用CreateThread

CreateThread,是WIN32 最直接創建的thread API函數.但是如果在線程回調(CALLBACK)函數中使用一些標準C的函數,當線程正常退出的時候,即使你釋放了所有用戶資源,仍然會有資源的泄漏的隱患。主要原因是線程中都需