coreutils-4.5.1 與ruby0.49中regex.c程式碼比較
coreutils-4.5.1 與ruby0.49中regex.c程式碼比較
今天上網購了機械鍵盤。
然後接著把ruby0.49/simple目錄下的全部測試程式碼在ruby2下跑通了。這個matz是個厲害的人,0.49程式碼現在基本都能執行。
於是分析regex.h,regex.c今天做了一件事,認真讀程式中的註釋,不象原來硬拼了。其實程式碼中的註釋是寫得很好的。
也許是原來看過,今天再重頭看,感覺順利了很多。因為是在vim中讀程式碼,不能把註釋拷出來,於是就是必應中輸入註釋,這樣連蒙帶猜,一下把regex.c,regex.h都看完了。
我曾經找到資料,說龍書中有介紹原理,那個作者有一本《資料結構分析》之類書上講了,正則表示式匹配原理的演算法。先不管了,明天開始再研讀。
又做了一件事,把coreutils-4.5.1/lib/regex.c 與之進行了比較,發現大部分都是相同的。
今天有些晚了,要準備睡覺了。
寫這個程式碼的人是牛人。讀他們的程式碼時,必須精力集中才行。
如果能找幾個人一起分析就好了,可以互通有無。不過這是枉想。分析程式碼要自己吃過的苦,才能記得住。自己犯過的錯誤,記憶才更深刻。
明天分析吧。
相關推薦
coreutils-4.5.1 與ruby0.49中regex.c程式碼比較
coreutils-4.5.1 與ruby0.49中regex.c程式碼比較 今天上網購了機械鍵盤。 然後接著把ruby0.49/simple目錄下的全部測試程式碼在ruby2下跑通了。這個matz是個厲害的人,0.49程式碼現在基本都能執行。 於是分析regex.h,regex.c今天做了一件事,
coreutils-4.5.1 head.c原始碼分析03
今天真是把head.c看懂了。 今天天真冷,我網上購了電熱取暖器,沒送到。但邊聽音樂,邊讀程式碼,感覺也很愜意。 看程式碼不能著急,要慢慢看,也許就像有人講的,郝培強講的,一開始要慢,開始慢,後面才能越看越快。是的。看程式碼,開始要慢。不要著急。 head有幾個選項 -n 行數 -c 位元組數 -q
coreutils-4.5.1 expr.c 原始碼閱讀
在linux下試試五筆是否好用。感覺打字也還很快的。 很久沒有上csdn了,最近沒有看原始碼了,回顧自己,感覺還是寫程式碼太少,應該多寫,多讀。想來想去,感覺還是要看coreutils的程式碼,因為這些程式碼都簡單,那些作業系統,編譯器的程式碼量太大了,就算sed,awk,ruby早版本的程式碼量都
coreutils-4.5.1/dirname.c
coreutils-4.5.1/dirname.c basename.c的作者留的名字是:fixme unknown,作者很幽默呀,名字都不留。 也許作者真是覺得寫程式就是好玩。名氣算什麼?當飯吃?有意思。 剛才看了dirname.c,這個程式有意思的一個地方是,求目錄名時,如 "/usr/ab/d
coreutils-4.5.1/basename.c 讀原始碼的方法
coreutils-4.5.1/basename.c 讀原始碼的方法 為了按行數看程式碼的命令寫錯了,應該寫成這樣: ls -s *.c | sort -n -k1 | more 我想,讀原始碼,的最大方法,是要改於開啟原始碼,開始讀,只要開始了,方法總會有的。 路雖遠,行則達。 有時,我感覺很
coreutils-4.5.1/false.c程式碼閱讀
coreutils-4.5.1/false.c程式碼閱讀 自己還是要讀原始碼,提長自己的功力。網上購C標準庫,沒有了。淘寶上二手書幾百元一本,估計現在學c的人也多了。 我真想讀ruby0.49,可以連gcc都安裝不上。沒辦法。還是讀簡單的。 把看程式碼看成一種生活方法,不是為了在他人前裝13。 從最
gnu coreutils-4.5.1 comm.c程式碼分析4
gnu coreutils-4.5.1 comm.c程式碼分析4 昨天睡覺時,也在想writeline(),總為其中列印\t原因不解,當時在想,為什麼case 3:時,要在乎是否列印了only_file_1,only_file_2呢?想了一會,終於明白了。現把自己的理解說一下。 writeline(
求一個整數數組中和最大的連續子數組,例如:[1, 2, -4, 4, 10, -3, 4, -5, 1]的最大連續子數組是[4, 10, -3, 4](需寫明思路,並編程實現)
class col code pan IT [] 例如 exit arr $arr = [ 1 , 2 , -4 , 4 , 10 , -23 , 4 , -5 , 1]; $max_sum = 0; $sum=0; $new = []; $i =
解決eclipse 4.5.1 新增server無法選擇tomacat 8 問題
1:問題描述: 當我們在eclipse新建一個web工程,想用tomacat 8 來發布一下web工程,但是此時我們新建一個server ,只能選擇tomacat 7以下。 網上好多說下載一個外掛Eclipse JST Server Adapters,但是我的下載
新一代免費私有雲平臺Nano v0.5.1發布 - 新增中文化支持/故障遷移/主機遷移
優先 nag 共享 啟動 承載 qcow2 決定 高可用 nfs共享 大家好,又一個重大更新發布了。 首先,為了便於國內用戶使用,0.5.1加入了中文支持,大部分界面和信息已經漢化。只需要在頁面切換即可,瀏覽器會自動保存,持續生效。 其次,增加了故障切換功能以加強集群的高
JNA-4.5.1相關網址
JNA包下載網址: https://github.com/java-native-access/jna JNA API介面文件地址: http://java-native-access.github.io/jna/4.5.1/javadoc/ 設定Windows開發環境:
易學筆記-Go語言-第4章:基本結構和基本資料型別/4.5 基本型別/4.5.1 bool型別
bool型別 關鍵字:bool,兩個結果:true 或者 false 何時回產生bool型別 ==:相等性筆記 !=:不相等性筆記 >、>=、<、<=:比較 可以進行的邏輯運算
易學筆記-系統分析師考試-第5章 資料庫系統/5.4 資料庫控制功能/5.4.5 備份與恢復技術
備份分類 按物理裝置 冷備份 熱備份 按備份數量 完全備份:整個資料庫的備份 增量備份:上一次備份後的發生變化的資料 差異備份:上一次完全備份後發生變化的所有資料 物理備份
易學筆記-系統分析師考試-第4章 資料通訊和計算機網路/4.5 網路工程/4.5.1 網路規劃
網路規劃 網路需求分析 總體任務: 調查使用者的網路建設背景、必要性 上網人數和資訊量 確定地理佈局、裝置型別、網路服務、通訊型別、通訊量 形成分析報告 具體需求包括 功能需求:確認使用者希望網路完成的功能、實現成本、總預算等 通訊需求:瞭解使用者需要的
httpclient-4.5.1.jar
HttpPost httpPost = new HttpPost(REPORT_URL); httpPost.setConfig(requestConfig); 報The method setConfig(RequestConfig) is undefined for the type Http
關於5.1版驗證類中唯一(unique)規則的缺陷
你們想的太複雜了,其實修改場景的規則不用重新寫,重點是編輯介面一定要使用隱藏域傳遞主鍵id就可以了,TP會自動識別是否需要判斷唯一性 你們想的太複雜了,其實修改場景的規則不用重新寫,重點是編輯介面一定要使用隱藏域傳遞主鍵id就可以了,TP會自動識別是否需要判斷唯一性 你們想
輸入n個整數,找出其中最小的K個數。例如輸入4,5,1,6,2,7,3,8這8個數字,則最小的4個數字是1,2,3,4,。
解題思路: 1、最簡單方法,先排序,再取前k個,時間複雜度O(NlogN) class Solution { public: vector<int> GetLeastNumbers
面試題,求一個整數陣列中和最大的連續子陣列,例如:[1, 2, -4, 4, 10, -3, 4, -5, 1]的最大連續子陣列是[4, 10, -3, 4](需寫明思路,並程式設計實現)
php實現: function get_max_value($arr) { $max_sum=0;//最大的值 $max_start=0;//和最大子陣列開始下標 $max_end=
4.5-1 併發技術6:只執行一次
sync.Once概述 sync包下的Once物件可以保證某個函式在多工併發過程中只被執行一次 var once sync.Once once.Do(task()) 案例 下面的案例中,我們開闢10條協程一起追殺比爾,但保證比爾只被殺死一次 即Kill(b
23.輸入n個整數,找出其中最小的K個數。例如輸入4,5,1,6,2,7,3,8這8個數字,則最小的4個數字是1,2,3,4,。
題目:輸入n個整數,找出其中最小的K個數。例如輸入4,5,1,6,2,7,3,8這8個數字,則最小的4個數字是1,2,3,4,。 import java.util.ArrayList; public