原创 C++設計模式實現--橋模式

一、概述:         在軟件系統中,某些類型由於自身的邏輯,它具有兩個或多個維度的變化。那麼爲了應對這種“多維度的變化”(即兩個以上變化的原因)的系統,可採用Bridge模式來進行設計,使系統中類的個數更少,且系統擴展更爲方便。橋接

原创 Wireshark圖解教程(簡介、抓包、過濾器)【轉】

Wireshark是世界上最流行的網絡分析工具。這個強大的工具可以捕捉網絡中的數據,併爲用戶提供關於網絡和上層協議的各種信息。 與很多其他網絡工具一樣,Wireshark也使用pcap network library來進行封包捕捉。

原创 H.323簡介

1.什麼是H.323? H.323描述基於PBN(Packet Based Networks)提供多媒體通信服務的終端和其他實體,他們不保證服務的質量。 H.323實體可以提供實時的音頻,視頻或者數據通信。 H.323的定義: l   

原创 C++設計模式實現--工廠模式

一、簡單工廠         概述:                 簡單工廠模式又稱爲靜態工廠方法(Static Factory Method)模式,屬於類的創建型模式,通常根據一個條件(參數)來返回不同的類的實例。他是用來專門生產對象

原创 C/C++ 打印文件名、行號、函數名的方法

今天跟蹤一段開源代碼的時候,因爲對代碼不太熟悉,所以要打印一些關鍵的信息。便順手整理了一下這個能打印文件名、行號、函數名的宏。 1、打印文件名、行號、函數的兩種方式 /**********************************

原创 C++設計模式實現--觀察者

  概述  在軟件構建過程中,我們需要爲某些對象建立一種“通知依賴關係” ——一個對象(目標對象)的狀態發生改變,所有的依賴對象(觀察者對象)都將得到通知。如果這樣的依賴關係過於緊密,將使軟件不能很好地抵禦變化。使用面向對象技術,可以將這

原创 C++設計模式實現--原型模式

一、概述:     用原型實例指定創建對象的種類,並且通過拷貝這些原型創建新的對象。其中有一個詞很重要,那就是拷貝。可以說,拷貝是原型模式的精髓所在。舉個現實中的例子來介紹原型模式。找工作的時候,我們需要準備簡歷。假設沒有打印設備,因此需

原创 C語言常用宏定義

01: 防止一個頭文件被重複包含 #ifndef COMDEF_H #define COMDEF_H //頭文件內容 #endif02: 重新定義一些類型,防止由於各種平臺和編譯器的不同,而產生的類型字節數差異,方便移植。 typedef

原创 VC使用VAssisstX的小工具,自動生成註釋

1、先看下注釋生成的效果: /***************************************************************************** * @COPYRIGHT NOTICE

原创 C++ string函數 與 C字符串處理函數(整理)

C++ string 函數1、string類的構造函數: string(const char *s);    //用c字符串s初始化 string(int n,char c);     //用n個字符c初始化 此外,string類還支持默

原创 C++設計模式實現--建造者

概述:         將一個複雜對象的構建與它的表示分離,使得同樣的構建過程可以創建不同的表示。UML結構圖:         適用於以下情況:         1)當創建複雜對象的算法應該獨立於該對象的組成部分以及它們的裝配方式時。

原创 UML類圖中的符號解釋

在UML的定義中,描述類和對象之間的關係,包括以下幾種方式:依賴(Dependency)、關聯(Association)、聚合(Aggregation)、組合(Composition)、泛化(Generalization)和實現(Real

原创 C 查找字符在字符串中位置的方法

/*****************************************************************************     *  @COPYRIGHT NOTICE     *  @Copyrig

原创 一個比較完整的Inno Setup 安裝腳本

[Setup] ; 注: AppId的值爲單獨標識該應用程序。 ; 不要爲其他安裝程序使用相同的AppId值。 ; (生成新的GUID,點擊 工具|在IDE中生成GUID。) AppId={{A9861883-31C5-4324-BD9

原创 16進制數據與字符串互轉

近期項目中用到16進制數據與字符串互轉算法,但網絡上搜索到的算法都有些問題,無奈自已造輪子 【注:代碼在VS2015環境下編譯通過】 1、頭文件 /********************************************