原创 快速排序中的partition算法

簡介 partition算法用途是:有一個數組array[]和其中任意一個數組元素x,修改數組,將數組中小於x的元素都移到x的左邊,將大於x的元素都

原创 Libevent 學習--------(eventop)事件多路分發器

一、事件多路分發器一般使用I/O複用接口。 Libvent中使用eventop 結構作爲後端I/O複用的統一接口, libevent裏面稱之爲後端, 也就是一種用於檢測哪種事件已經就緒的方法。 /** Structure to

原创 centos安裝snort

1. 安裝libpcap與libpcap-devel     yum install libpacp* 2. 安裝libpcre     yum install pcre* 3. 安裝libnet     下載libnet (http:/

原创 KMP 算法 ---經典

The Knuth-Morris-Pratt Algorithm in my own words (http://www.ruanyifeng.com/blog/2013/05/Knuth%E2%80%93Morris%E2%80%93

原创 Libevent學習-------定時器事件

定時器事件的創建 Libevent 一般調用evtimer_new來定義一個定時器事件 #define evtimer_new(b, cb, arg) event_new((b), -1, 0, (cb), (arg

原创 linux 內核學習----------模塊(LKM:loading kernel module)

可加載內核模塊(LKM) Linux內核是模塊化組成的,允許內核在運行的時候以模塊的形式動態地添加或刪除代碼。 優點:保證基本內核小,動態增加和刪除 module_init /module_exit module_init 將模

原创 pthread_exit ---- 不能使用局部變量作爲參數返回

在使用pthread_exit 返回一個void型指針,該指針指向的數據必須不能是線程內部的局部變量,因爲隨着線程的退出,局部變量被摧毀,變成不確定的內存內容了。 下面的程序比較了使用線程內部的局部變量和全局變量作爲pthrea

原创 設計模式學習之------State模式(狀態模式)

什麼是狀態模式 狀態模式允許對象在內部狀態改變時改變它的行爲,對象看起來好像修改了它的類。 1. 這個模式將狀態封裝成爲獨立的類,並將動作委託到代表當前狀態的對象,我們知道行爲會隨着內部狀態而改變。 2. 使用組合通過簡單因爲

原创 c++ Eclipse 中文亂碼

c++ 代碼使用Eclipse時,cout 輸出中文時是亂碼。 修改: 在Window->Preferences->General->Workspace   面板Text file encoding 選擇UTF-8

原创 Libevent學習-----Reactor的事件處理機制

1.      普通函數的調用機制:        主程序調用某函數à函數執行,保存入參和返回寄存器地址,主程序等待à 函數處理完將結果和控制權返回給主程序 à主程序繼續執行 void func () {

原创 snort -------DEBUG_WRAP

在看snort源碼的時候,經常看到調用DEBUG_WRAP函數輸出的debug信息。研究了一下怎麼打開這個debug開關,以下是具體的步驟 1. 在configure 選項中添加--enable-debug-msgs 和--enable-

原创 Libevent學習----信號事件

信號是一種異步事件:信號處理函數和程序的主循環是兩條不同的執行路線。很明顯,信號處理函數需要儘可能快地執行完畢,以確保該信號不被屏蔽太久(信號在處理期間,系統不會再次觸發它)。 上面這幅圖是網上找到的,很好地從整體上表述了

原创 libevent 學習----------尾隊列 tail queue

libevent裏面的尾隊列TAILQ 一、TAILQ的隊列頭 TAILQ把整個隊列頭單獨抽象爲一個結構體TAILQ_HEAD,如下: #ifndef TAILQ_HEAD #define TAILQ_HEAD(name, t

原创 查看linux系統發行版信息

[root@localhost ~]# cat /etc/issue CentOS release 6.4 (Final) Kernel \r on

原创 查看linux下進程的環境變量

AH-3f7440:/tmp/root# ps | grep dhcpc 9528 root 47976 S /opt/ah/bin/dhcpc 10595 root 2796 S grep dhc