原创 靜態庫和動態庫創建過程

libtest/include/hello.h   #ifdef _HELLO_H_ #define _HELLO_H_ void hello(); #endif libtest/lib/hello.c #include "

原创 圖解正向代理、反向代理、透明代理

一、正向代理(Forward Proxy)    一般情況下,如果沒有特別說明,代理技術默認說的是正向代理技術。關於正向代理的概念如下: 正向代理(forward)是一個位於客戶端【用戶A】和原始服務器(origin server)【服務

原创 穿越NAT的p2p通信方法研究

內容概述: 在p2p通信領域中,由NAT(Network Address Translation,網絡地址轉換)引起的問題已經衆所周知了, 它會導致在NAT內部的p2p客戶端在無論以何種有效的公網ip都無法訪問的問題。雖然目前已經發展

原创 哈希樹(HashTree)

作者 羅堃 (此文爲原創,若需要引用請註明出處) 從2000年開始,作者開始研究基於TCP/IP的短信息傳輸技術。這種技術目前在國際上的標準被成爲SMPP(Short Message Peer to Peer Protocol)。SM

原创 g++參數介紹

[介紹]  gcc and g++分別是gnu的c & c++編譯器    gcc/g++在執行編譯工作的時候,總共需要4步    1.預處理,生成.i的文件       預處理器cpp 2.將預處理後的文件不轉換成彙編語言,生成

原创 圖像濾鏡處理算法:灰度、黑白、底片、浮雕

下面介紹幾種簡單的圖片處理算法,通過這幾種算法,也能大致明白濾鏡處理的算法原理。 1 灰度圖片 前文闡述過關於圖片的一些基本知識,彩色照片有RGB_8888、RGB_4444、RGB_565這麼幾種,每一個像素的顏色值由紅、綠、藍三

原创 Linux下同步模式、異步模式、阻塞調用、非阻塞調用

同步和異步:與消息的通知機制有關。   本質區別 現實例子 同步模式 由處理消息者自己去等待消息是否被觸發 我去銀行辦理業務,選擇排隊等,排到頭了就辦理。 異步模式 由觸發機制來通知處理消息者 我去銀行辦

原创 Makefile相關

七、靜態模式靜態模式可以更加容易地定義多目標的規則,可以讓我們的規則變得更加的有彈性和靈活。我們還是先來看一下語法:    <targets ...>;: <target-pattern>;: <prereq-patterns ...>;

原创 c++中new的三種用法詳細解析

一. 簡介new有三種使用方式:plain new,nothrow new和placement new。(1)plain new顧名思義就是普通的new,就是我們慣常使用的new。在C++中是這樣定義的:    void* operat

原创 關於gcc心得

1、如果h頭文件中有實現代碼,那麼不需要進行gcc編譯操作。 2、h頭文件中有實現代碼(A.h)時,include它的cpp(B.cpp)如果進行gcc -c 操作時,生成的o文件中會包含A.h中的實現代碼。 3、如果A.h中有全局變量或

原创 Merkle Hashing Tree

大家都知道,目前BT應用的發展具有一個非常顯著的趨勢,那就是用來交換電影、遊戲、ISO等大尺寸的數據文件。然而我們也能夠觀察到另一個事實,那就是:下載文件所對應的索引文件(.torrent)也越來越大,越來越難以下載;這是因爲在索引文件

原创 H264 獲取SPS與PPS(附源碼)

在用Android手機進行h264硬編碼的時候如果要進行視頻流的實時傳輸與播放,就需要知道視頻流的Sequence Parameter Sets (SPS) 和Picture Parameter Set (PPS)。 今天算是看明白如

原创 gcc 編譯過程

一、 C語言編譯過程 C語言的編譯過程可分爲四個階段: 1、預處理(Preprocessing) 對源程序中的僞指令(即以#開頭的指令)和特殊符號進行處理的過程。 僞指令包括:1)宏定義指令;       2)條件編譯指令;

原创 關鍵幀切割視頻

#include <jni.h> #include <android/log.h> #include "libavformat/avformat.h" #include "libavcodec/avcodec.h" #include "l

原创 Linux相關

1、gcc 對比 g++ 2、靜態庫 ar rc 命令 3、gcc 參數 -o -c -g -D -I -l -L -i 4、gdb參數 l,p,n,set args 5、gdb參數 -Wl,rpath,./