原创 TS包頭語法結構-1

TS包由4B的包頭(header)、可變長度的調整頭和淨荷(payload)組成; 包頭結構定義如下: struct ts_header{     char     syn_byte:8;                      

原创 mingw-gcc std::exception問題

在MSVC中拋出異常代碼如下: #include <iostream> #include <stdexcept> #include <stdlib.h> void exception_test() { throw std::ex

原创 Android C++ 添加log

項目中,C++代碼中std::out的輸出信息 logcat無法捕獲; 添加LOG到項目中; 第一步:在對應的mk文件中加入:LOCAL_LDLIBS := -llog 第二步:在要使用LOG的cpp文件中加入:         #in

原创 TFTP協議 RFC1350

TFTP協議 文檔的現狀         這個RFC文檔被網絡協會列爲準IAB標準,需要進一步的討論和修改。通過IAB標準可以查看這個協議的狀態。可以任意的發佈本協議。 概況         TFTP是一個傳輸文件的簡單協議,可以從它的名

原创 zmq req重試機制

ref: http://www.oschina.net/question/565065_116643 #include <zmq.h> #include <string.h> #include <stdio.h> #include <un

原创 TS流的解碼過程

轉自:http://blog.csdn.net/godspirits/article/details/5653381 以備忘 TS 流解碼過程: 1. 獲取TS中的PAT 2. 獲取TS中的PMT 3. 根據PMT可以知道當前網絡中傳

原创 堅持得比較好的寫代碼原則

從<<effective c++>>學過來的,堅持了一段時間了,以後得繼續堅持; 1、non-member函數替換member函數; 2、儘可能使用const; 3、類的成員變量必須爲private,不然等於沒有封裝,通過繼承就能訪問了

原创 進程虛擬地址空間de理解

進程是操作系統對CPU+存儲設備的抽象 存儲設備包括主存(MEM)和硬盤(HD)等存儲設備,抽象爲虛擬存儲器 1、每一個進程擁有自己獨立的進程地址空間,實際是有獨立的虛擬地址空間,32位系統中可尋址空間爲2^32大小的空間,進程可

原创 ubuntu install gcc 4.1.2

1. 下載&解壓源碼 $ wget http://ftp.gnu.org/gnu/gcc/gcc-4.1.2/gcc-4.1.2.tar.bz2 $ tar xvjf gcc-4.1.2.tar.bz2 2. 安裝依賴庫, 以及軟件

原创 c++大小端檢測

//大端:最高有效字節排在最前面 //小端:最高有效字節排在最後面 //0x0001  //大端存儲 01 00//小端存儲 00 01   #include <iostream> bool is_li

原创 nm查看共享庫so文件中導出函數列表

linux中查看so文件中的導出函數表; > nm -D mylib.so 列出所有導出的函數,包括mylib.so靜態鏈接的庫中的那些導出函數。

原创 mingw編譯protobuf和openssl

準備工作: 安裝mingw,和msys,下載protobuf-2.4.1和openssl-1.0.1c; 啓動msys.bat,進入sh; cd /protobuf/ > ./Configure > make 沒有出錯,一切ok; c

原创 crontab

摘抄自:http://zh.wikipedia.org/wiki/Cron,備忘 crontab命令常見於Unix和類Unix的操作系統之中,用於設置週期性被執行的指令。該命令從標準輸入設備讀取指令,並將其存放於“crontab”文件中

原创 mingw 編譯boost

boost代碼版本,從svn下載(http://svn.boost.org/svn/boost/trunk),版本號81418; > gcc -v 檢查gcc路徑是否在環境變量中,如果沒有輸出版本信息,需要將mingw中gcc的路徑加

原创 使用代理http請求頭的變化

winsock實現HTTP代理提交HTTP請求的方法有兩種 1、直接請求 2、先連通遠程服務器後就相普通提交請求一樣提交HTTP請求說一下第一種方法: 先說一下我們普通的提交HTTP請求的過程: 直接連接遠程服務器後,當連接成功時