原创 我的友情鏈接

51CTO博客開發

原创 進程間通信的方式及比較

進程間通信就是在不同進程之間傳播或交換信息,那麼不同進程之間存在着什麼雙方都可以訪問的介質呢?進程的用戶空間是互相獨立的,一般而言是不能互相訪問的,唯一的例外是共享內存區。但是,系統空間卻是“公共場所”,所以內核顯然可以提供這樣的條件。除此

原创 談談寫程序與學英語 --宋勁杉

俗話說,沒有金剛鑽,就別攬瓷器活兒。套用到IT業,英語不行,就別做程序員。網上關於程序員學英語的文章不少,但我想談談我自己的看法。首先詳細討論一下爲什麼程序員離了英語不行,然後針對程序員應該怎麼學英語說說我的體會。 英 語是計算機的

原创 pipe 函數 (C語言)

pipe我們用中文叫做管道。 以下講解均是基於Linux爲環境: 函數簡介 所需頭文件 #include<unistd.h> 函數原型 int pipe(int fd[2]) 函數傳入值 fd[2]:管道的兩個文件描述符,之後就是可

原创 給套接字賦予地址過程中概念的澄清

  在使用socket編程時,我們都知道在網絡通信以前首先要建立連接,而連接的建立是通過對socket的一些操作來完成的。那麼,建立連接的過程大致可以分爲以下幾步:   1. 建立socket套接字。   2. 給套接字賦予地址,這個地

原创 ip命令(二)

如果從manpage裏學ip命令的話,可能不太適合剛接觸這個命令的人。這裏只介紹幾個簡單的,平時也比較常用的命令。   【場景一:我想查看eth2 的ip地址】   # ip addr show eth2 2: eth2: <BROADC

原创 管道

7.1 管道 在進程之間通信的最簡單的方法是通過一個文件,其中有一個進程寫文件,而另一個進程從文件中讀,這種方法比較簡單,其優點體現在: 只要進程對該文件具有訪問權限,那麼,兩個進程間就可以進行通信。 進程之間傳遞的數據量可以非

原创 gcc 編譯過程

現代編譯器常見的編譯過程: 源文件-->預處理-->編譯/優化-->彙編-->鏈接-->可執行文件 對於gcc而言: 第一步 預處理        命令: gcc -o test.i -E test.c           

原创 linux 系統調用號

(1)系統調用號的定義在 /usr/include/asm/unistd.h 文件中 (2)2.6.16的定義如下所示: #define __NR_restart_syscall 0 #define __NR_exit 1

原创 python筆記(一)——python中的類及內置函數

1. python中的類定義很簡單,以保留字class開始,後面跟着類名就可以了。當然要記得後面的冒號。最簡單的類定義: class Tired:     pass psss表示什麼都不作,往前走就是了。 2. 多行代碼使用\,不

原创 [命令技巧]chmod & Set-User-ID & Set-Group-ID

[命令技巧]chmod & Set-User-ID & Set-Group-ID   本篇文章討論的是Linux/Unix的權限問題,包括文件的訪問權限、可執行文件的權限以及修改這些權限的命令chmod。 Linux權限模式介紹   用l

原创 Gcc編譯流程解析

Gcc的編譯流程分爲了四個步驟,分別爲: ·  預處理(Pre-Processing) ·  編譯(Compiling) ·  彙編(Assembling) ·  鏈接(Linking) 下面就具體來查看一下Gcc是如何完成四個步驟的。

原创 IP普及文章

http://www.netfilter.org/documentation/HOWTO/networking-concepts-HOWTO.html#toc11 非常通俗的一篇普及文章,很適合初學者,英文難度也很簡單。 將network,

原创 ip命令(一)

iproute2的功能十分強大,這篇文章主要對iproute2的命令進行一個概括的介紹。 ip的manpage前幾行介紹了ip命令的主要用途及語法。  ip命令的語法:    從圖中可以看出,ip後面的命令主要分爲三個部分:     1.

原创 linux系統啓動過程

啓動第一步--加載BIOS 當你打開計算機電源,計算機會首先加載BIOS信息,BIOS信息是如此的重要,以至於計算機必須在最開始就找到它。這是因爲BIOS中包含了 CPU的相關信息、設備啓動順序信息、硬盤信息、內存信息、時鐘信息、PnP特性