你既然在讀此文章了,那麼說你對php的執行很有興趣,應該有自己探索過php的生命週期什麼的,這些東西網上一搜尋一大把,因為於關於php的生命週期,我就不詳細分析了,自己google去。大概就是讀取php的指令碼檔案,初使化,然後把**翻譯成opcode,然後zend engine執行opcode,最後作一些清理什麼的,***。
這些東西網上都很容易地找到,下面我要告訴的是你找不到的(至少我曾經找過沒找到的):
網上關於生命週期的介紹,沒有用例子來分析,下面,帶大家一起來看一看。
測試檔案:
檔名 test.php
然後,執行gdb php命令(這裡要求你編譯php的時候加了--enable-debug引數,並且建議只編譯乙個只帶命令列的最少擴充套件的php供學習,好像有乙個叫做--disable-all的引數,具體的自己google之,我記不太清了)。
然後呢,執行break main命令,設定乙個斷點。
再然後呢,執行run test.php 命令。解釋:run 後面附件引數test.php 代表將要解釋執行這個php指令碼。
再然後list一下,就能看到現在程式執行到什麼位置了。
看到沒,main 函式就在這裡。
好了,下面可以用s命令一步一步跟蹤執行了
尋找帶環鍊錶入口
求解單鏈錶環入口點的步驟 1 使用 指標追趕 方法找到相遇點 網上資料很多,此處略 2 指標p1從煉表頭 p2從相遇點,同時出發,一次移動乙個節點,再次的相遇點便是環的入口點。理解了好久,終於證明了為什麼步驟2那樣就能找到入口點。證明導向 p1從表頭走,能與p2從相遇點走再次相遇,那麼說明p1走到入...
第69天 jQuery入口函式
1 事件源 js方式 document.getelementbyid id jquery方式 id 2 事件 js方式 document.getelementbyid id onclick jquery方式 id click 區別 jquery的事件不帶 on3 事件處理程式 js 書寫方式 doc...
尋找N以內的素數 《程式設計珠璣 續 》第1章
下面給出了六段程式,分別是求n以內素數的演算法的不斷改進,從2s到1ms。p1 用prime計算素數,時間2.019s include includeusing namespace std int prime int n int prime int n int prime int n int pri...