原创 Linux常用頭文件

Linux常用的頭文件集合: <dirent.h>        目錄項 <fcntl.h>         文件控制 <fnmatch.h>    文件名匹配類型 <glob.h>    路徑名模式匹配類型 <grp.h>       

原创 完成端口與高性能服務器程序開發

早在兩年前我就已經能很熟練的運用完成端口這種技術了,只是一直沒有機會將它用在什麼項目中,這段時間見到這種技術被過分炒作,過分的神祕化,就想寫一篇解釋它如何工作的文章.想告訴大家它沒有傳說中的那麼高深難懂!有什麼錯誤的地方還請高人指正.轉載

原创 C++接口的設計和聲明

任何接口設計的一個準則:讓接口容易被正確使用,不容易被誤用。   理想上:如何客戶企圖使用某個接口缺沒有獲得他所預期的行爲,這個代碼不該通過編譯;如果代碼通過了編譯,他的行爲就該是客戶所想要的。   1. 導入外覆類型(wrapper t

原创 ACE與ASIO之間關於Socket編程的比較

ACE與ASIO之間關於Socket編程的比較 轉自:FREE MY SOUL ACE是一個很成熟的中間件產品,爲自適應通訊環境,但它過於宏大,一堆的設計模式,架構是一層又一層,對初學者來說,有點困難。ASIO是基本Boost開發的異步I

原创 資源管理

      C++中常見的資源就是動態內存分配,常見的還有文件描述符、互斥鎖、圖形界面的字形和筆刷、數據庫連接、以及網絡sockets。不論哪一種資源,當你不再使用它時,必須將它還給系統。   一、以對象管理資源        1. 獲得

原创 軟件架構設計分享

     架構師不僅要熟悉技術,業務和管理,更重要的是要有自己的思想,架構設計在我看來,他不是技術,而是一種藝術。我喜歡藝術,我熱愛架構,以前在自己的學習道路上總是渺茫,似乎現在找到了方向。    軟件結構的分類:互聯網軟件架構、企業應用

原创 Epoll vs. IOCP

1 Epoll vs. IOCP Epoll 和 IOCP 都是爲高性能網絡服務器而設計的高效 I/O 模型;都是基於事件驅動的。事件驅動有個著名的好萊塢原則(“不要打電話給我們,我們會打電話給你”)。   不同之處在於: 1.

原创 交叉編譯boost

sd

原创 數據加密算法 (概述)

常見用於保證安全的加密或編碼算法如下: 1、常用密鑰算法  密鑰算法用來對敏感數據、摘要、簽名等信息進行加密,常用的密鑰算法包括:  DES(Data Encryption Standard):數據加密標準,速度較快,適用於加密大量數據的

原创 Linux系統下驅動程序框架概述

一、linux的設備驅動程序與外界的接口可以分爲三個部分:   1.驅動程序與操作系統內核的接口。通過file_operations(include/linux/fs.h)數據結構來完成的。   2.驅動程序與系統引導的接口。這部分利用驅

原创 boost::ASIO的異步方式

  嗯?異步方式好像有點坐不住了,那就請異步方式上場,大家歡迎... 大家好,我是異步方式 和同步方式不同,我從來不花時間去等那些龜速的IO操作,我只是向系統說一聲要做什麼,然後就可以做其它事去了。如果系統完成了操作, 系統就會通過我之

原创 以boost::function和boost:bind取代虛函數

這是一篇比較情緒化的blog,中心思想是“繼承就像一條賊船,上去就下不來了”,而藉助boost::function和boost::bind,大多數情況下,你都不用上賊船。 boost::function和boost::bind已經納入了s

原创 異步IO、APC、IO完成端口、線程池與高性能服務器之二 APC

Alertable IO(告警IO)提供了更有效的異步通知形式。ReadFileEx / WriteFileEx在發出IO請求的同時,提供一個回調函數(APC過程),當IO請求完成後,一旦線程進入可告警狀態,回調函數將會執行。    以下

原创 當析構函數遇到多線程──C++ 中線程安全的對象回調

請儘量閱讀本文 PDF 版:http://www.cppblog.com/Files/Solstice/dtor_meets_mt.pdf 豆丁亦可,內容略微滯後: http://www.docin.com/p-42460300.htm

原创 Linux 2.6內核的設備模型

Linux 2.6內核的設備模型Linux 2.6內核的一個重要特色是提供了統一的內核設備模型。隨着技術的不斷進步,系統的拓撲結構越來越複雜,對智能電源管理、熱插拔以及plug and play的支持要求也越來越高,2.4內核已經難以滿足