blog.Ring.idv.tw

Articles

這位騎士你也太衝了吧~ 哈~

今天和老師一同去新竹討論一些事項~ 就在回途台中的中港路上~ 停一個紅燈時~

這位重機騎士就很衝地直接停在我們前面~ 哈哈~ 猛啊~

不過這幾天仍呈現忙碌狀態~ 尤其是今天又多了一件緊急的要事必須趕在禮拜四之前完成~

當我寫好這篇po文時~ 發覺... 我剩下不到七十二小時... 呃...

2008-03-11 00:25:29 | Add Comment

2008年統一獅會員卡

今天中午回家休息時~ 郵差先生把我叫醒了~ 請我下去收掛號~

而拿到手中的就是前陣子於網路訂購的「2008年統一獅會員卡」~

想說一張才「100」元~ 就隨意給它買了下去~ 有沒有人要一起看棒球的呀 ^^a

其實追溯上次進棒球場看棒球,已經是我十年前還是國中的事了... 時間過得可真快~

最近剛好有「2008年奧運棒球最終資格排名賽」希望中華隊能打進前三名 ^^ Go去奧運~

不過真的需要這位小弟弟大力地加持~ ^^

P.S. 我有一個「痞客邦」VIP七折優惠的序號~ 有需要的人請留下您的留言索取 ^^ 格主贈送!

2008-03-07 14:29:35 | Comments (4)

請問您的「ㄛ都麥」有熄火用牽的嗎?

今天下午要出門去學校時~

突然看到本棟住家的進出大門被貼了這麼一張~

哈哈~ 真想回答有啦有啦~ ^^ 我很乖都有用「牽」的~ 呵呵~

2008-03-06 19:43:06 | Add Comment

這個月我不想爆肝...

自從上禮拜五去了新竹之後~

計劃就緊接著一直來一直來一直來......^N~

現在手上要執行的事項多達七件以上... 唉唷~ 我不想爆肝~ 我想開開心心做研究...

好吧~ 先期待「CSProxy」早日完工... 嘿~ 學弟~ 要衝囉~ (甩尾的聲音漸漸小聲...) 哈哈 ^^

P.S. 最近突然想玩Flash....

2008-03-05 22:52:45 | Comments (3)

PHP Question - ($a-- +1)

剛剛在小海格友的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)

Next Posts~:::~Previous Posts
Copyright (C) Ching-Shen Chen. All rights reserved.

::: 搜尋 :::

::: 分類 :::

::: 最新文章 :::

::: 最新回應 :::

::: 訂閱 :::

Atom feed
Atom Comment