2012年11月29日 星期四

gcc編譯相同內容之.c/.cc但執行結果不同

我一直很傻很天真的以為,gcc會把我餵給他的所有東西都編譯成C程式,直到我膝蓋中了一箭,直到昨天我才發現這個世界不是我所想像的樣子。

我從2005年開始學習C程式設計卻一直到昨天才知道這件事情實在有點慚愧,不過長知識了也算是開心。(是說我會直接在Terminal下gcc也是2007年底的事情了)

原來gcc會看餵進去的檔案的副檔名來推斷檔案應該是個C程式還是C++程式,然後編譯之,這樣好像有點強......


2012年8月31日 星期五

QCLaptop(AO752)換裝SSD實錄

就像機動戰士鋼彈到季末主角多半會獲得機體升級或乾脆換新機一樣,我覺得自從大二下(2010.04)開始與我一同並肩作戰的小筆電QCLaptop也是時候該升級一下了,這樣就能再戰好幾年。
我與我親愛的QCLaptop
小筆電的記憶體已經插到4G了,想來想去,就想說換個硬碟好了,把原本的硬碟拆下來換一顆SSD上去,這樣QCLaptop的作戰能力就能大幅提升。

2012年8月14日 星期二

自動機與正規表示式

前幾天在神人的網誌上拜讀了關於RegExp的整理,除了順便(worship)一下,熊熊想起自動機好像跟正規表示式有點關係,剛剛找到了修`自動機與形式語言'的筆記,作些整理於下。

如有錯誤還請指教,謝謝 :-)

語言(Language)


一個所謂的語言,是由許多的單字(Word)組成,而單字則是由字母(Alphabet)所組成。字母指的是一個有限的符號集合,像是英文字母就是由A 到Z 等字母所組成;而binary alphabet 就是{0,1}。

單字則是由有限個數的字母所組合而成的字串。一堆單字就能組成語言。而一個語言是不會超過字母以任何長度任意排列所形成的的這個集合。


有限自動機(Finite Automata)


一個有限自動機M 是由以下五個要素所構成:
  1. 有限的狀態集合Q
  2. 字母Σ
  3. 一個狀態在遇到不同字母時該跳轉到哪一個狀態的轉換function δ
  4. 起始狀態q0
  5. 終止狀態F
寫成M=(Q,Σ,δ,q0,F),例如: