原创 IP地址獲取-PPPoE&DHCP

 PC獲取IP地址的方式有3種,手工配置、PPPoE獲取、DHCP獲取。PPPoE應用較多  PPPoE撥號 包括PPPoE Discovery、PPPoE Session、PPPoE Terminate三個階段。 PPPoE Disco

原创 在notepad++每行首尾添加字符

在使用notepad++處理數據時,我們會遇到需要在notepad++每行首尾添加字符,如果行數不多,可以自己手動的去添加。但如果達到了成百上千行,此時在機械的手動添加是不現實的。 notepad++其實提供了正則表達式的操作方式,不懂正

原创 SIP概括

  會話初始協議(Session Initiation Protocal, SIP)。SIP是一個應用層的信令控制協議,主要目的是在 IP 網絡中建立、修改和釋放多媒體會話的應用層協議。其主要的應用包括但不侷限於語音、消息、視頻、呼叫控制

原创 SIP的幾個主要標準協議

SIP的幾個主要標準協議 SIP文檔和標準協議。SIP的標準協議都是IETF制定的,所以SIP的標準協議都是通過RFCXXXX的方式來公佈的,每個協議均制定了一些SIP的特性。我研究了一些,將自己目前認爲幾個比較主要的SIP協議記錄下來。

原创 正則表達式特殊字符的含義

正則表達式是一種文本處理強有力的工具。但同時也定義複雜的規則,下面主要解釋正則表達式特殊字符的含義。 正則表達式的特殊字符主要包括".^$()*+?{}[]\|" (1) .是單字符的通配符 (2) ^匹配行的開頭 (3) $匹配行的末尾

原创 單鏈表的創建(帶頭結點以及不帶頭結點)

不帶頭結點 #include "stdio.h" #include "stdlib.h" typedef struct List { int data; //數據域 struct List *next; //指針域 } List; Lis

原创 Linux下線程pid和tid

#include <stdio.h> #include <pthread.h> #include <sys/types.h> #include <sys/syscall.h> struct message {

原创 va_start、va_arg、va_end、va_list的使用

原文連接:http://justsee.iteye.com/blog/1637173 va_start、va_arg、va_end、va_list的使用 VA_LIST 是在C語言中解決變參問題的一組宏 他有這麼幾個成員:

原创 從 Linux 源碼看 socket 的阻塞和非阻塞

從linux源碼看socket的阻塞和非阻塞 筆者一直覺得如果能知道從應用到框架再到操作系統的每一處代碼,是一件Exciting的事情。 大部分高性能網絡框架採用的是非阻塞模式。筆者這次就從linux源碼的角度來闡述socket阻塞(bl

原创 C語言實現md5函數代碼

轉自 https://blog.csdn.net/xhhjin/article/details/8450686頭文件md5.h[cpp] view plain copy#ifndef MD5_H  #define MD5_H     ty

原创 編譯錯誤error: invalid storage class 編譯錯誤error: invalid storage class

編譯錯誤error: invalid storage class2013年02月01日 09:54:41閱讀數:5809昨天遇到一個莫名其妙的編譯錯誤,以前沒有見過,而且代碼流程看起來也沒有太多的奇異之處。後來忍無可忍,百度了下,發現別人

原创 C++ 動態內存分配

1.堆內存分配 : C/C++定義了4個內存區間:     代碼區,全局變量與靜態變量區,局部變量區即棧區,動態存儲區,即堆(heap)區或自由存儲區(free store)。 堆的概念: 通常定義變量(或對象),編譯器在編譯時都可

原创 利用c++ cout如何輸出不同進制

http://www.cnblogs.com/Billy-rao/p/3944232.html cout<<hex<<i<<endl; //輸出十六進制數 cout<<oct<<i<<endl; //輸出八進制數 cout<<dec

原创 iptables and ebtables

iptables和ebtables都是linux上常用的防火牆,前者主要負責網絡層的數據包過濾,後者則負責數據鏈路層的包過濾。對於兩者的語法,可以參考博文 http://blog.csdn.net/windxxf/article/deta

原创 c語言輸出%

在計算cpu或者mem利用率時,我們會格式化輸出%,下段代碼展示輸出% int main() {     int cpu;    int  mem;       . . .. . ..    printf(" %d%%     %d%%\