埃拉托斯特尼篩法:C 語言實作找出 2~1000 所有質數
篩法是尋找區間內所有質數的經典演算法,時間複雜度 O(n log log n),遠優於逐一試除。本文以陣列模擬「篩子」,逐步剔除合數,保留質數,並給出完整 C
從 n 筆資料中查找目標值:循序搜尋與二分搜尋演算法對比
搜尋是資料處理的基礎操作。本文介紹兩種經典演算法:循序搜尋(適用未排序資料)與 二分搜尋(要求資料已排序),並給出 C 風格函式實作與邏輯解析。 1. 循序搜
C++ STL map 自訂比較函式實現鍵值自動排序
std::map 預設以 std::less<Key> 排序鍵值。若鍵為 const char*,預設比較的是指標位址而非字串內容。本文示範如何撰寫
智慧卡程式設計:Windows Vista 智慧卡 API 與卡模組完整實作指南
智慧卡(內建加密晶片的卡片)已成企業身分驗證、數位簽章、DRM 授權儲存的主流載體。Windows Vista 引入卡模組 API,取代舊有 CSP 架構,提供
C++Builder 使用 Windows Multimedia API 控制遊戲搖桿完整指南
Windows 標準 API 未直接提供遊戲搖桿類別,需呼叫 winmm.dll 中的 Multimedia API(joyGetPos、joySetCaptu
C++Builder 自訂事件實作:從訊息封裝到物件檢視器整合
C++Builder 的事件機制本質是「閉包指標」,將 Windows 訊息封裝為元件層級的可視化事件。本文完整示範如何定義自訂訊息 WM_MYMESSAGE、
C++ 以 new 動態配置三維陣列的標準寫法
C++ 無原生多維陣列動態配置語法,需以「指標的指標的指標」分層配置。本文給出標準、無記憶體洩漏的三維陣列配置與釋放範本,並說明索引對應關係。 配置邏輯圖解
基於 Crypto++ 庫實作 RSA 簽名與加解密完整範例
Crypto++ 是功能最全面的 C++ 加密庫,但原始碼龐大(靜態庫高達 34 MB),導出最小化二進位需額外裁剪。本文提供一個可直接編譯的極簡範例,示範 R
整數素數和分解:擴展哥德巴赫猜想的遞歸演算法與效能分析
哥德巴赫猜想指出「任意 ≥6 的偶數可寫成兩奇素數之和」。本文將其推廣:輸出一個整數所有「兩個或以上素數之和」的分解式,同構分解(如 2+3 與 3+2)僅保留
C/C++ 指標陷阱:陣列指標位移的經典筆試題解析
許多開發者在轉換語言(Java、C#)多年後重拾 C/C++,最容易栽在指標運算上。這道經典面試題完美揭示了 &a(陣列指標)與 a(首元素指標)在指標
用 C++Builder Indy MD5 元件實作軟體自我保護
隨著「共享軟體+註冊碼」模式普及,防止程式被破解或竄改成為開發者必修課。利用 MD5 雜湊值驗證執行檔完整性是經典且有效的手段。本文示範如何在 C++Build
C++Builder 快速清空 StringGrid 單元格內容的技巧
在使用 C++Builder 的 TStringGrid 控件時,經常需要清空所有單元格的內容以便重新填充數據。若直接將 RowCount 設為 1 再增加行數
擴展 NetBeans IDE 6.0 C/C++ 編輯器:實作標記實例高亮外掛
教學目標 建立 NetBeans 模組,為 C/C++ 編輯器新增「標記實例高亮」功能:游標停留在變數/函式名稱上時,自動高亮同一文件中所有相同識別項出現處。
自定義 URI Scheme 啟動本地程式:從 QQ tencent:// 協議到通用解決方案
前言 網頁點擊連結啟動本地應用程式 (如 QQ 聊天、迅雷下載) 是常見需求。本文解析 tencent:// 協議原理,演示如何註冊自定義 URI Scheme
eMule 源碼深度分析 (一):監聽 Socket 與客戶端連入處理
CListenSocket 職責 監聽本地埠,接受客戶端連入,維護連入 Socket 佇列。 關鍵函式解析 StartListening() bool CLi
eMule 源碼深度分析 (二):伺服器連線與會話管理
啟動連線流程 在 CemuleApp::InitInstance() (第 672 行) 建立計時器,300ms 後觸發 CemuleDlg::StartupT
Windows API (WinAPI) 深度解析:架構、分類與開發實務
定義與定位 Windows API (WinAPI) 是微軟提供的核心應用程式介面,供 C/C++ 直接呼叫,是應用程式與 Windows 核心互動的最直接管道
DirectX 完整解析:元件、歷史與版本演進
什麼是 DirectX DirectX (Direct eXtension, DX) 是微軟開發的多媒體程式介面集合,以 C++ 實作、遵循 COM 模型。因功