coreutils5 0 echo c原始碼分析

2021-10-01 12:01:42 字數 487 閱讀 4995

coreutils5.0 echo.c原始碼分析

隨便翻翻,因為前幾天學習了sort的用法,想讀讀sort.c的**,一開啟,完全看不懂,因為資料結構中,內部排序我懂了,但外部排序我不懂,看樣子,作者好像是用到了外部排序。於是果斷的略過。

然後再找**少的來讀,開啟

echo.c的**。

**是簡單的,如果沒有引數就只是把引數直接列印出來。

但如果加選項,象

./echo -e "a\tbb"

是在**處理選項的呢?我開始沒找到,後來直接搜尋

\才找到,然後設計了變數do_v9=1

再在後面判斷,當字串中有

\t時,變為'\t'

這段**很繞的。

while((c=*s++))

}當時,使用勁在想,如果c指向"a\tbb"中的'\'

那什麼時候又變為t呢??然後在while語句中,s++了。搞了半天才想明白。

這篇文章有湊字數的嫌疑了。哈哈。

coreutils5 0 split c原始碼分析

coreutils5.0 split.c原始碼分析 接著開啟split.c,先測試一下用法。a.3的內容如下12 345.split l 3 a.3 xaa123 xab4 5看來,按行拆分好理解的。於是,我就找按行拆分的 方法。先從頭到尾逛一下,翻到main時,先從getopt分析命令列引數中,找...

coreutils5 0 paste c原始碼分析

coreutils5.0 paste.c原始碼分析 時間過得真快,一晃又到中餐時間了。我要趕緊再寫一篇。先說paste的用法。paste s 把每個檔案變成一行,再把兩個檔案合在一起。paste s d a1 a2 此時,a1中每一行末尾的 n用 來進行分隔。然後再看相應功能在程式中是如何實現的。先...

coreutils 5 0中幾個命令的執行過程

uname是怎麼執行的?隨手在鍵盤敲擊乙個uname a,系統資訊就出來了 linux my 2.6.8 2 686 smp 1 smp tue aug 16 12 08 30 utc 2005 i686 unknown unknown gnu linux 可是執行該命令時,系統究竟做了什麼?如果查...