原创 sigwait()的一些應用

   #include <signal.h>#include <stdio.h>#include <unistd.h>int main(void) {

原创 主機名與網絡名查詢gethostbyname,gethostbyaddr 與 高級名字與地址轉換————getaddrinfo()函數詳解 .

  主機名與網絡名查詢 在這一章,我們將會了解以下內容: 如何確定我們的本地主機名 如何將主機名解析爲IP地址 如何將IP地址解析爲主機名 一旦我

原创 函數聲明後加const的意義

 例如有這樣一個函數int   getValue(Elem   &it)   const   {   ...   }   加const   和不加  

原创 庫函數調用和系統調用的區別

 庫函數是語言本身的一部分,而系統函數是內核提供給應用程序的接口,屬於系統的一部分。  函數庫調用是語言或應用程序的一部分,而系統調用是操作系統的一部分。你要確保弄懂“trap(自陷)”這個關鍵字的含義。系統調用

原创 Linux進程間通信 共享內存

  共享內存(Shared Memory)   共享內存區域是被多個進程共享的一部分物理內存。如果多個進程都把該內存區域映射到自己的虛擬地址空間,則這些進程就都可以直接訪問該共享內存區域,從而 可以通過該

原创 Linux下的進程間通信-詳解 .

    詳細的講述進程間通信在這裏絕對是不可能的事情,而且筆者很難有信心說自己對這一部分內容的認識達到了什麼樣的地步,所以在這一節的開頭首先向大家推薦著 名作者Richard Stevens的著名作品:《

原创 makefile分析

# --------------------------------------------------------------------------- # Modules ifdef CONFIG_MODULES # ifdef是M

原创 使用iptables配置目的NAT

使用iptables配置目的NAT 目的NAT改變的是數據包的目的IP地址,當來自Internet的數據包訪問NAT服務器網絡接口的公網IP時,NAT服務器會把這些數據包的目 的地址轉換爲某一對應的內網IP,再路由給內網計算機。這樣,

原创 Linux殭屍進程產生及如何避免

 在fork()/execve()過程中,假設子進程結束時父進程仍存在,而父進程fork()之前既沒安裝SIGCHLD信號處理函數調用 waitpid()等待子進程結束,又沒有顯式忽略該信號,則子進程成爲

原创 exit和_exit的區別

  exit()在結束調用它的進程之前,要進行如下步驟: 1.cleanup(); 2.在atexit()註冊的函數; 最後調用_exit()函數。。。 ‘exit()’與‘_exit()’有不少

原创 關於C++多態的理解 關於C++多態的理解

關於C++多態的理解 類的多態特性是支持面向對象的語言最主要的特性,有過非面嚮對象語言開發經歷的人,通常對這一章節的內容會覺得不習慣,因爲很多人錯誤的認爲,支持類的封裝的語言就是支持面向對象的,其實不然,Visual BASIC 6

原创 JAVA 正則表達式 (超詳細)

  (PS:這篇文章爲轉載,我不喜歡轉載的但我覺得這篇文章實在是超讚了,就轉了過來,這篇可以說是學習JAVA正則表達的必讀篇。作者是個正真有功力的人,閱讀愉快)   在Sun的Java JDK 1.40版本中,Java自帶了支持

原创 Linux0.11內核--系統中斷處理程序int 0x80實現原理 .

  系統調用是一個軟中斷,中斷號是0x80,它是上層應用程序與Linux系統內核進行交互通信的唯一接口。通過int 0x80,就可使用內核資源。不過,通常應用程序都是使用具有標準接口定義的C函數庫間接的使

原创 有關sed的經典例子

理解: sed -e 's/^\([a-z]\{2,3\}[0-9]\):.*$/\1/' 它的意思是:首先尋找這樣一個字符串,它以2到3個a~z間的字符開始,然後緊跟着一個數字,再跟着一個分號,最後是任意個字符結尾。然後將這樣的一個字

原创 jrtplib介紹

一、流媒體簡介 隨着Internet 的日益普及,在網絡上傳輸的數據已經不再侷限於文字和圖形,而是逐漸向聲音和視頻等多媒體格式過渡。目前在網絡上傳輸音頻/視頻(Audio/Video,簡稱A/V)等多媒體文件時,基本上只有下載和流式傳輸