今天和老師一同去新竹討論一些事項~ 就在回途台中的中港路上~ 停一個紅燈時~
這位重機騎士就很衝地直接停在我們前面~ 哈哈~ 猛啊~
不過這幾天仍呈現忙碌狀態~ 尤其是今天又多了一件緊急的要事必須趕在禮拜四之前完成~
當我寫好這篇po文時~ 發覺... 我剩下不到七十二小時... 呃...
blog.Ring.idv.tw
In Enjoy Life
今天和老師一同去新竹討論一些事項~ 就在回途台中的中港路上~ 停一個紅燈時~
這位重機騎士就很衝地直接停在我們前面~ 哈哈~ 猛啊~
不過這幾天仍呈現忙碌狀態~ 尤其是今天又多了一件緊急的要事必須趕在禮拜四之前完成~
當我寫好這篇po文時~ 發覺... 我剩下不到七十二小時... 呃...
2008-03-11 00:25:29 | Add Comment
In Enjoy Life
今天中午回家休息時~ 郵差先生把我叫醒了~ 請我下去收掛號~
而拿到手中的就是前陣子於網路訂購的「2008年統一獅會員卡」~
想說一張才「100」元~ 就隨意給它買了下去~ 有沒有人要一起看棒球的呀 ^^a
其實追溯上次進棒球場看棒球,已經是我十年前還是國中的事了... 時間過得可真快~
最近剛好有「2008年奧運棒球最終資格排名賽」希望中華隊能打進前三名 ^^ Go去奧運~
不過真的需要這位小弟弟大力地加持~ ^^
P.S. 我有一個「痞客邦」VIP七折優惠的序號~ 有需要的人請留下您的留言索取 ^^ 格主贈送!
2008-03-07 14:29:35 | Comments (4)
In Enjoy Life
今天下午要出門去學校時~
突然看到本棟住家的進出大門被貼了這麼一張~
哈哈~ 真想回答有啦有啦~ ^^ 我很乖都有用「牽」的~ 呵呵~
2008-03-06 19:43:06 | Add Comment
In General
自從上禮拜五去了新竹之後~
計劃就緊接著一直來一直來一直來......^N~
現在手上要執行的事項多達七件以上... 唉唷~ 我不想爆肝~ 我想開開心心做研究...
好吧~ 先期待「CSProxy」早日完工... 嘿~ 學弟~ 要衝囉~ (甩尾的聲音漸漸小聲...) 哈哈 ^^
P.S. 最近突然想玩Flash....
2008-03-05 22:52:45 | Comments (3)
剛剛在小海格友的Blog看到一篇文章「PHP Question」,他的問題如下所述:
<?php $a = 1; $a = $a-- +1; echo $a; ?>
這時候 $a 會等於多少?
其實這種問題只要針對內部的堆疊運作去Run一次就可以得到詳解了~
不過我不曉得PHP有沒有「類似」javap這樣的工具,或是有辦法可以讓我們看到PHP內部一個個opcode處理的方式?有的話分享一下唄~ 感恩呢 ^^
所以我去下載了「php-5.2.5」原始碼~ 本來想打算從PHP的原始碼中來找答案~
可是我看了看~ 總覺得不曉得要花費多少時間~ 而且這樣實在太沒效率了~ 除非你想研究則不在此限~
不過也意外發現~ PHP的原始程式還是用了「Virtual Machine」這樣的字眼 ^^~
P.S. PHP全部的opcode都定義在「Zend/zend_vm_opcodes.h」 <== 檔名有「vm」
Java解釋
這裡我打算換個角度來解釋~ 乾脆用Java來模擬一樣的問題~ 程式如下:
public class Plus { public static void main(String arg[]) { int a = 1; a = a-- + 1; System.out.println(a); } }
接著我用「javap」來反組譯一下~ 看看operand stack是怎麼Run的~
我們就直接來看上圖所用黃色框起來的opcode~
0: iconst_1 #將int constant「1」推入到Operand Stack。
1: istore_1 #將Operand Stack的「1」存到Local Variable[1]的位置(所以到這邊已經完成了「int a = 1;」)。
2: iload_1 #將剛剛那個Local Variable[1]的整數值再載入到Operand Stack。
3: iinc 1, -1 #將目前Local Variable[1]的值「減1」。
6: iconst_1 #將int constant「1」推入到Operand Stack (所以現在Operand Stack有兩個都為「1」的值)。
7: iadd #將Operand Stack前兩個整數值相加後再推入到Operand Stack (所以目前Operand Stack只有一個「2」的整數值)。
8: istore_1 #將Operand Stack「2」存到Local Variable[1]的位置。
結果出來了~ 重點就在於「3: iinc 1, -1」是減掉Local Variable[1]的值~ 而不是減掉Operand Stack中待會要進行「iadd」相加的值~,所以這個範例會印出的值當然就是「2」嚕~ ^^
呃... 又2點多了~ 來去睡~ 這個三月挺忙的 ^^a
2008-03-01 02:32:10 | Comments (2)