Effective STL 條款 7:用智能指針管理容器內指針,告別內存洩漏
問題代碼 void leaky() { std::vector<Widget*> vwp; for (int i=0; i<N
Effective STL 條款 20:set<string*> 排序陷阱與正確解法
問題場景 需要一個裝 string* 的 set,並按字符串內容字母序排序。 std::set<std::string*> ssp; ssp.ins
macOS 10.8 配置 OpenCV 2.4.3 開發環境(Xcode)
編譯安裝 OpenCV 下載 CMake 2.8+ 安裝。 下載 OpenCV 2.4.3 for Linux/macOS 源碼,解壓。 終端執行: cd ~
Thrift 實踐心得:從 RPC 到消息序列化與數據存儲
為什麼選 Thrift 對比 Protobuf,Thrift 優勢在於: 原生支持 list、map 容器類型,IDL 表達力更強。 生成代碼極其可讀,接近手
100 行代碼實現最簡單 FFmpeg + SDL 視頻播放器
項目簡介 針對 FFmpeg 初學者,提供一個極簡播放器示例,涵蓋解複用、視頻解碼、YUV 轉換、SDL 渲染全流程。無音頻、無同步(固定 40ms 延時),代
SGI STL 第二級配置器 chunk_alloc 核心函數深度解析
背景 SGI STL 分配器採用二級分配策略:大塊(>128B)直接 malloc,小塊由內存池管理。__default_alloc_template 的
FFPython:輕量級 C++ 嵌入與擴展 Python 庫
項目背景 作者從事 MMO 服務器開發,核心高併發模塊用 C++,邏輯層用 Python 實現熱更。最初使用 Boost.Python,但存在:異常無堆棧信息、
Linux 下 C/C++ 庫詳細解析:靜態、共享與動態加載
庫的三種形態 靜態庫:擴展名 .a。編譯鏈接時將代碼複製到可執行文件,運行時不再依賴庫文件。 共享庫:擴展名 .so。編譯時僅記錄符號引用,運行時由動態鏈接器
commoncpp2-1.8.0 編譯安裝錯誤修復
錯誤現象 編譯 commoncpp2-1.8.0 時,applog.cpp 報錯:缺少 sys/syslog.h 或相關符號未定義。 解決方法 編輯 src/
源碼免殺技術筆記:動態調用、字符串隱藏、區段合並與反調試
免殺核心思路 殺毒軟件靜態查殺主要針對:敏感 API 導入表、明文字符串、代碼段特征碼、資源段版權信息。對抗手段分為靜態混淆與動態行為隱藏兩大類。 1. 動態
使用 RPM 從系統光盤安裝 GCC-C++(Fedora 14 範例)
目標 在無網絡環境下,利用系統安裝光盤(ISO)內的 RPM 包離線安裝 gcc-c++ 及其依賴。 環境 鏡像:Fedora-14-i386-DVD.is
C++ 數據結構:二叉查找樹(BST)完整實現與分析
概述 二分查找屬於分治法,但基於有序向量,插入刪除需移動元素,代價 O(n)。二叉查找樹(BST)同樣支持 O(log n) 平均查找,且插入刪除只需修改指針,
C/C++ 中 const 修飾符完整用法總結(基礎篇)
前言 在 C/C++ 程式設計中,const 關鍵字是提升程式碼健壯性與可讀性的核心工具。被 const 修飾的實體具有「唯讀」特性:編譯器會在編譯階段檢測任何
C++ 對象模型深度解析:繼承佈局、虛函數、虛繼承與構造析構機制
前言 本文基於 Jane Gray 的經典 MSDN 文章《C++ Under the Hood》,系統梳理 C++ 對象在內存中的佈局、成員訪問、虛函數調用、
八皇後問題:回溯算法完整解析與 C++ 實現
問題描述 在 8×8 國際象棋棋盤上放置 8 個皇後,使任意兩個皇後不在同一行、同一列、同一斜線上。求所有合法擺放方案(共 92 種)。 算法思想:回溯法 逐