原创 多線程應用---使用WaveOut* API開發AMR音頻播放器(含源碼下載)

[源代碼以及工程實例下載 ] 1、 語音播放API 1.1 waveOutOpen - 打開播放設備 MMRESULT waveOutOpen( LPHWAVEOUT phwo, /* 一個

原创 Windows內存管理 - 內存映射文件

1、前言     Windows提供了3種進行內存管理的方法: • 虛擬內存,最適合用來管理大型對象或結構數組。 • 內存映射文件,最適合用來管理大型數據流(通常來自文件)以及在單個計算機上運行的多個進程之間共享數據。 • 內存堆棧,最

原创 C++多線程同步技術(MFC)

1. 何時使用同步類     MFC 提供的多線程類分爲兩類:同步對象(CSyncObject、CSemaphore、CMutex、CCriticalSection 和 CEvent)和同步訪問對象(CMultiLock 和 CSingl

原创 靜態庫、動態鏈接庫、dll導入庫、COM組件庫

動態鏈接庫dll,靜態鏈接庫lib, 導入庫lib   靜態鏈接庫LIB和動態鏈接庫DLL的區別 創建和示例   靜態連接庫、動態連接庫、和com組件  

原创 函數的調用約定(cdecl,stdcall,fastcall,...)

調用約定   調用約定闡釋了程序中函數的調用方式。當一個調用約定形成,我們需要討論的是被調用的函數是如何獲取數據(例如參數),以及這些數據在堆棧中是如何存放的。對於逆向工程來說,深入瞭解調用約定是很有必要的。因爲在逆向工程中會經常遇見不同

原创 重學設計模式 - Facade模式

1、     Facade模式簡介 Façade在建築領域的意思是:(掩飾真相的)門面,也就意味着,如果你想探究更細節的真相就需要經過Façade。 《設計模式》一書中對Façade模式的意圖是這樣敘述的: 爲子系統中的一組接口提供一個

原创 數據結構與算法面試題彙編(2)- 海量數據處理

1、從海量日誌數據中提取出某日訪問百度次數最多的那個IP。     算法思想:分而治之 + Hash 1)IP地址最多有2^32=4G種取值情況,所以不能完全加載到內存中處理; 2)可以考慮採用“分而治之”的思想,按照IP地址的Hash(

原创 重學設計模式 - Decorator模式

1、     Decorator模式簡介   《設計模式》一書中對Decorator模式的意圖是這樣敘述的: 動態的給一個對象添加一些額外的職責。就增加功能來說,Decorator模式比生成子類更爲靈活。   Decorator模式的工

原创 Hash表的算法與應用

一、什麼是Hash         hashing定義了一種將字符組成的字符串轉換爲固定長度(一般是更短長度)的數值或索引值的方法,稱爲散列法,也叫哈希法。由於通過更短的哈希值比用原始值進行數據庫搜索更快,這種方法一般用來在數據庫中建立索

原创 重學設計模式 - Strategy模式

1、Strategy模式簡介 《設計模式》一書中對Stragety模式的意圖是這樣敘述的: 定義一系列的算法,把它們一個個封裝起來,並且使它們可相互替換。Strategy模式使算法可獨立於使用它的客戶而變化。  Strategy模式以下

原创 重學設計模式 - Bridge模式

1、Bridge模式簡介 所謂Bridge就是連接兩處的通道。 《設計模式》一書對Bridge模式的意圖是這樣敘述的: “將抽象與實現解耦,使它們都可以獨立地變化。”   2、Bridge模式關鍵特徵   意圖 將一組實現與另一組使

原创 C++多線程技術--API

1. windows API相關常用的線程函數 更多詳見MSDN--Process and Thread Functions 1.1. CreateThread     CreateThread將在主線程的基礎上創建一個新線程,大致做如

原创 關於一個模塊中所有rgs文件中有註冊項無法全部寫入註冊表的問題

1、問題情形 創建ATL項目時,使用VC每增加一個COM類,就會生成一個對應的rgs文件。 在vista及win7系統中,如果增加了HKLM註冊表項,而生成的程序並不是以管理員身份運行時,就會出現本該寫入HKCU的某些註冊表項並沒有被寫入

原创 重學設計模式 - Adapter模式

1、Adapter模式簡介 Adapter就是一個目標不能直接拿來使用,需要轉換。如電源適配器… 《設計模式》一書中對Adapter模式的意圖是這樣敘述的: 將一個類的接口轉換成客戶希望的另外一個接口。Adapter模式使原本由於接口不

原创 重學設計模式 - Observer模式

1、Observer模式   《設計模式》一書中對Observer模式的意圖是這樣敘述的:定義對象間的一種一對多的依賴關係,當一個對象的狀態發生改變時,所有依賴於它的對象都將得到通知並自動更新。   Observer模式並不是只要在對象間