原创 valgrind幫助頁
本文是對valgrind --help頁面的翻譯,其中若有不當之處,就請幫忙指出,先謝過了 用法:valgrind [選項] 程序 程序選項 選擇工具選項,[]裏面的是默認值: --tool=<名字> 使用valgrind工具的
原创 mongoose之worker_thread()函數
前面已經介紹過了mongoose的生產者過程,現在介紹下消費者過程。mongoose默認創建了10個worker_thread()線程來處理已接受的連接。worker_thread()函數原型如下:static void worker_t
原创 linux 讀取函數read
名字 read 從一個文件描述符中讀取 概要 #include <unistd.h> ssize_t read(int fd, void *buf, size_t count);
原创 linux接收函數recv
名字 recv -從一個套接字接收消息 概要 #include <sys/types.h> #include <sys/socket.h> ssize_t recv(int sockfd, void *bu
原创 Base64編解碼
base64編碼用64個字符表示編碼後的內容,這64個字符從A到Z、a到z、0到9和+、/。每個字符用6位表示,第7、8位補0,最後2個字符在不同的實現中有不同的內容。經過base64編碼的字符串長度肯定是4的的整數倍,因爲它用4個字符表
原创 linux進程查看命令ps
名字 ps - 查看當前進程的快照(快速查看當前進程) 概要 ps [選項] 描述 ps顯示選中的活動進程的信息。如果想一直更新選中的信息顯示,用top代替它。 該版本的ps接受若干個選項: 1:U
原创 mongoose之main函數
mongoose的main函數源碼如下 int main(int argc, char *argv[]) { init_server_name(); start_mongoose(argc, argv); printf("%
原创 OpenCV 視頻捕捉
OpenCV自帶攝像頭採集接口cvCaptureFromCAM,只需傳一個攝像頭編號即可調用。但是我用該接口函數一直不能正常捕捉視頻,第一次打開失敗,後面幾次攝像頭燈亮了,但是視頻畫面一片黑,百思不得其解,經過多方查證,可能是OpenCV
原创 運行mongoose的鏈接庫問題
編譯環境 ubuntu 12.04 Linux ubuntu 3.2.0-23-generic #36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012 x86_64 x86_64 x86_64 GNU/Li
原创 GCC命令選項
當你調用GCC時,他會自動做預處理,編譯,彙編和鏈接操作。全局開關允許你在中途停止這些操作。例如-c選項說明不要運行鏈接器,然後輸出由彙編器生成的目標文件組成。其他的選項被傳送到操作中的某一步。一些選項控制預處理器和其他的編譯器本
原创 linux 內存分配函數
名字 calloc,malloc,free,realloc -分配和釋放動態內存 概要 #include <stdlib.h> void *calloc(size_t nmemb, size_t size);
原创 vmware虛擬機NAT方式固定IP
用putty登陸虛擬機可以方便管理,目前在用putty登陸虛擬機ubuntu時發現每次都要重新換一個地址才能連上虛擬機,原因就在虛擬機採用了NAT方式聯網,而ubuntu採用DHCP方式獲取IP地址,導致每次重啓後IP地址都會改變,於是就
原创 mongoose之master_thread函數
mongoose採用了生產者-消費者模式來運作,即一端接受連接(生產),另一端處理連接(消費),如此反覆。master_thread()函數採用了select的I/O複用模式,相信這也是有評論稱mongoose效率不高的原因。因爲sele
原创 數組首地址和數組第一個元素的地址
#include <stdio.h> int main() { int a[2][3] = {1, 2, 3, 4, 5, 6}; printf(" a = %d\n",
原创 mongoose之get_option_index函數解析
get_option_index函數原型如下 static int get_option_index(const char *name);參數:一個指向名字的指針,該名字對應一個值。 返回值:若找到該選項則返回該選項在選項數組中的對應行數