muduo 與 libevent2 吞吐量對比:Reactor 模式網路庫效能實測
libevent 同樣採用 Reactor 模型,是極優秀的 C 語言網路庫。本文以 ping-pong 測試對比 muduo 與 libevent2 吞吐量,
muduo 與 Boost.Asio 吞吐量效能對比測試
muduo 是基於 Reactor 模式的 C++ 網路庫,開發初衷非以高並發高吞吐為首要目標,但 ping-pong 測試驚人發現:muduo 吞吐量平均比
在 muduo 中實作 Protobuf 編解碼器與訊息分發器
承接前文《自動反射訊息類型的 Google Protobuf 網路傳輸方案》,本文說明如何將打包方案與 muduo::net::Buffer 結合,實作 Pro
TCP 並發連接數理論極限與 faketcp 實驗驗證
先前在微博發起兩道 TCP 思考題引發熱烈討論。本文深入分析 TCP 連接資源佔用本質,並以 faketcp 實驗驗證理論推論。 兩道思考題 初級題 單 I
使用 muduo 實作 memcached 協定伺服器:事件驅動網路程式設計實戰
耗時兩天,使用 muduo 網路庫部分實作了 memcached 伺服器協定,程式碼位於 examples/memcached/server,可通過 memca
Ubuntu 12.04 上安裝 Qt 4.8.4 嵌入式開發環境完整記錄
近期專案採用嵌入式 Linux 系統開發,宿主機環境為 Ubuntu 12.04。本文記錄 Qt 4.8.4 交叉編譯與開發環境建置的完整流程,包含工具鏈配置、
Windows 平台 Qt SDK 靜態編譯完整指南
Qt 靜態編譯可將 Qt 函式庫直接嵌入執行檔,免除部署時攜帶大量 DLL 的困擾。本文記錄在 Windows XP 環境下,使用 MinGW 編譯器對 Qt
Qt Windows 部署指南:使用 Setup2Go 建立安裝程式
Qt 程式開發完成後,發布部署有兩種主要方式:靜態編譯與建立安裝套件。靜態編譯過程繁複且容易失敗,本文採用動態編譯配合 Setup2Go 製作安裝檔的實務流程。
現代 C++ 庫簡化 DirectX 程式設計:dx.h 深度解析
DirectX 其實不像傳聞那麼難懂,學習曲線雖陡峭但一旦跨越,其運作邏輯相當清晰。然而 DirectX API 的易用性確實有提升空間。為此我開發了 dx.h
使用 C++ 進行 Windows 開發:Windows 運行時應用程式模型深度解析
我們的開發生活充滿了抽象層。若不了解抽象的內部運作便直接使用,往往會陷入困境。Windows 運行時 (WinRT) 便是這樣一個抽象層。本文將透過研究 Win
GPGPU OpenCL 程式設計步驟與向量運算實作範例
OpenCL (Open Computing Language) 是一個為異構平台編寫程式的開放標準框架,該平台可由 CPU、GPU、DSP、FPGA 等不同類
使用 C++ 進行 Windows 開發:Windows 運行時的 Direct2D 呈現實作
在上一期專欄中,我們探討了 Windows 運行時 (WinRT) 應用程式模型,並示範如何僅使用標準 C++ 和經典 COM 來編寫 Windows 應用商店
借助 C++ 進行 Windows 開發:使用 DirectWrite 和最新 C++ 管理字體
DirectWrite 簡介 強大文本佈局 API,支援 WinRT、IE11、Office 2013+,與 Direct2D 緊密配合實現硬件加速渲染。 傳
C++ 使用 Uniscribe 進行文字自動換行計算與渲染
Uniscribe 簡介 Windows 2000+ 內建 usp10.dll,提供字符串渲染所需信息:換行機會、字符視覺順序、每字符大小等。MSDN 文檔:S
可配置語法分析器開發紀事(一):構造語法樹
背景 為 GacUI 開發第四代可配置輕量級語法分析器。推薦《編程語言實現模式》一書。 語法樹核心:訪問者模式 成熟語法樹必附帶 Visitor 機制。本分析
可配置語法分析器開發紀事(三):生成下推自動機
下推自動機 (PDA) 基礎 PDA = 有限自動機 + 不定長棧。文法規則對應 PDA 狀態,點 ● 表示當前位置。 例子:IDList 文法 ID =
可配置語法分析器開發紀事(三點五):生成下推自動機具體步驟勘誤
勘誤緣起 上篇狀態機圖繪製有誤,特發勘誤記錄教訓:分析務必一步步來,不可跳步。 正確構造步驟演示 文法:ID = NAME; IDList = ID | ID