呼叫堆疊基礎:結構佈局與 WinDbg 實戰觀察 (一)
呼叫堆疊核心結構與 WinDbg 手動觀察實戰 呼叫堆疊是程式執行時期儲存函數呼叫資訊的動態資料結構,包含返回位址、參數、區域變數、呼叫者框架指標。 堆疊框架
呼叫慣例深度解析:__stdcall/__cdecl/__fastcall/thiscall 差異與應用
x86 Windows 平台四大呼叫慣例完整對比 呼叫慣例定義函數參數傳遞、堆疊清理、返回值放置、名稱修飾等規則,是跨模組/語言互操作的關鍵契約。 共同規範
調用棧深度解析 (三):Windbg 腳本自動化遍歷調用棧參數
系列回顧 (一) Windbg 基礎調用棧查看命令 (k, kb, kp) (二) x86 調用約定 (__stdcall/__cdecl) 參數棧佈局分析
Shell 擴充:自訂右鍵選單「複製檔案完整路徑」
實作 Shell Context Menu 擴充:一鍵複製多檔完整路徑至剪貼簿 解決頻繁需求:在總管右鍵選單加入「取得檔案路徑存入剪貼簿」,支援多選檔案、Ctr
水波模擬算法實現:基於正弦波位移查找表的高效渲染
物理模型:正弦波位移場 單一波源在二維平面產生的水波位移: disp = sin(dist) * force + disp_center // 推廣到任意點(
使用 C++Builder 實作特殊螢幕顯示效果 (圖像轉場動畫)
C++Builder 5/6 時代的 GDI 圖像轉場特效實作 利用 Windows GDI 將視窗視為畫布,透過 TCanvas::CopyRect、Move
C++ 記憶體越界問題與 weak_ptr 解決方案
懸空指標導致的記憶體越界:使用 Boost weak_ptr 自動偵測物件存活 記憶體洩漏可用工具偵測,但記憶體越界 (Use-after-free) 極難重現
C++Builder 2007 安裝 Boost 1.36.0 完整指南
在 C++Builder 2007 (CodeGear RAD Studio) 中編譯安裝 Boost 1.36.0 Boost 庫編譯過程複雜,本文提供針對
C++ 類別宣告遺漏分號導致難以診斷的編譯錯誤
頭文件類別定義結尾缺少分號:連鎖編譯錯誤的元兇 C++ 類別定義結尾必須加上分號。遺漏分號不會直接報錯於類別定義處,而是導致後續包含該頭文件的原始碼產生莫名其妙
DirectSound 波形捕捉系列(一):列舉捕捉裝置
DirectSoundCaptureEnumerate 列舉系統音訊捕捉裝置 當應用程式需讓使用者選擇裝置、需多裝置支援、或需查詢特定能力時,必須列舉可用捕捉裝
DirectSound 波形捕捉系列(二):建立捕捉裝置物件
三種建立捕捉裝置物件的方法 DirectSound 提供多種建立捕捉裝置的途徑,適用不同架構需求。 方法一:DirectSoundCaptureCreate8
DirectSound 波形捕捉系列(三):查詢捕捉裝置能力
使用 IDirectSoundCapture8::GetCaps 取得裝置能力資訊 建立緩衝區前應查詢裝置能力,確認支援的格式、聲道數與並發存取特性。 DSC
DirectSound 波形捕捉系列(四):建立捕捉緩衝區
使用 IDirectSoundCapture8::CreateCaptureBuffer 建立捕捉緩衝區 捕捉緩衝區建立需填寫 DSCBUFFERDESC 結構
DirectSound 波形捕捉系列(五):捕捉緩衝區資訊查詢
查詢捕捉緩衝區能力、格式、狀態與當前位置 DirectSound 提供四大查詢介面,讓應用程式掌握緩衝區運行狀態與配置資訊。 1. 取得緩衝區能力 (GetC
DirectSound 波形捕捉系列(六):捕捉緩衝區通知機制
使用 IDirectSoundNotify8 實作高效緩衝區位置通知 輪詢 GetCurrentPosition 效率低且延遲高。DirectSound 提供事
DirectSound 波形捕捉系列(七):捕捉緩衝區特效 (AEC/NS)
Windows XP 核心級音訊特效:回聲消除 (AEC) 與降噪 (NS) Windows XP 引入兩種內核級實現的捕捉緩衝區特效:聲學回聲消除 (AEC)
DirectSound 波形捕捉系列(八):使用捕捉緩衝區
DirectSound 捕捉緩衝區完整操作流程 音訊捕捉核心流程包含:啟動緩衝區 → 等待資料 → 鎖定讀取 → 複製資料 → 解鎖 → 重複 → 停止。本文詳