原创 pjsip代碼分析(1)——modules框架

     今天,來談一下pjsip 模塊框架(module framework)。弄清楚這個概念,就可以輕鬆地分析pjsip的sip消息的分發處理。      概念:      PJSIP模塊框架的概念非常重要,負責在各組件之間分發sip

原创 內存管理的思考

      鑑於C/C++動態分配釋放內存的效率。       有尊嚴和明智的程序員往往採用自己的方案進行內存的管理。 場景: 1.  數據的存儲和使用是順序的(FIFO模式)    例如: 網絡數據的傳輸, 音視頻的編碼等。    解

原创 哈希表-uthash

Hash表自己實現主要難度在於hash函數的選擇,無意看到uthash。 非常好用的一個"庫"-uthash,不用懂哈希表實現的細節就可以很好地使用hashmap。 有多個hash函數算法可供選擇, 修改Makefile打開宏即可。 gi

原创 A good online study web

無意中發現的,很不錯。可以學習c,python,ruby等 http://learncodethehardway.org/

原创 vim 【Accessing system_clipboard】

.vimrc中添加: set clipboard=unnamed http://vim.wikia.com/wiki/Accessing_the_system_clipboard Notice: Your linux should

原创 gdb debuginfo

最近項目需要, 需要在客戶的機器上gdb調試程序, 但是爲了代碼安全又不能把代碼複製過去。用debuginfo可以實現 gcc/g++ 加-g選項編譯程序mypro, 依次執行以下命令: objcopy --only-keep-deb

原创 棧式內存分配器

        前段時間在調查內存池實現時, 無意中看到了以下的鏈接:         http://eli.thegreenplace.net/2008/10/17/memmgr-a-fixed-pool-memory-allocato

原创 unix expect自動輸入腳本

shell腳本處理事件時,有時要輸入密碼,選擇“Yes/NO”等, 如果人工輸入,很麻煩, 不夠智能。 這個問題可以用expect命令解決。 以下以ssh登錄爲例的腳本 #!/bin/bash log_in() { expect -

原创 vim中使用cscope

最近在做c++項目, 代碼量比較大, ctags經常找不到函數定義處, 不能滿足現在的需求。  windows下可以使用sourceInsight,但是現在經常要在遠程linux下看代碼。 君慾善其事必先利其器,最終找了一個cscope的

原创 xterm配置文件( 選中複製+中文支持+中文輸入法)

在linux/freebsd下用xterm,但是不知道怎麼配置。 找了很久才配置可用。 安裝字體: DejaVu 和 WenQuanYi, 中文輸入法fcitx(或其它如ibus) 把以下保存成.Xdefaults,放在用戶目錄下,註銷即

原创 http協議分析網頁

           上週接收完成離職同事的活: 對網絡中用戶訪問的內容進行監控(某些非法關鍵字)。 需要用到HTTP協議對網頁進行解析。      由於以前同事寫的代碼過於雜亂,並且在實際環境中,出現以下問題:段錯誤, chunked傳

原创 i3wm 調節音量

筆記本上安裝linux,界面使用i3wm, 使調節音量的快捷鍵有用 在~/.i3/config中增加如下: # for sound control bindsym XF86AudioRaiseVolume exec amixer set

原创 cmake common usage

-- Common command 1. cmake_minimum_required    set the min version, eg.cmake_minimum_required(VERSION 2.6) 2. project

原创 ngix學習

一個不錯的學習網址。 http://tengine.taobao.org/book/#id2

原创 C/C++整數的範圍

我們經常要接觸的整型數的範圍,比如signed char的範圍是-128~127,signed short的範圍是-32768~32767。 這裏將要告訴你,是怎麼計算出來的。 拿signed char來說明一下: 因爲是有符號的整數,