您好,登錄后才能下訂單哦!
這篇文章主要介紹了PHP虛擬機是什么,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
PHP虛擬機
虛擬機也是計算機,參考物理機的設計,設計虛擬機時,首先應該考慮三個要素:指令,數據存儲,函數棧幀;
指令
指令由操作碼和操作數組成;操作碼指明本指令的操作類型,操作數指明操作數本身或者操作數的地址;
數據存儲
PHP虛擬機支持多種數據類型:整型、浮點型、字符串、數組,對象等;
函數棧幀
PHP虛擬機實現了與物理機類似的函數棧幀結構;
使用 _zend_vm_stack表示棧結構;多個棧之間使用prev字段形成單向鏈表;top和end指向棧低和棧頂,分別為zval類型的指針;
總結
PHP虛擬機也是計算機,有三點是我們需要重點關注的:指令集(包含指令處理函數)、數據存儲(zval)、函數棧幀;
此時虛擬機已可以接受指令并執行指令代碼;
但是,PHP虛擬機是專用執行PHP代碼的,PHP代碼如何能轉換為PHP虛擬機可以識別的指令呢——編譯;
PHP虛擬機同時提供了編譯器,可以將PHP代碼轉換為其可以識別的指令集合;
理論上你可以自定義任何語言,只要實現編譯器,能夠將你自己的語言轉換為PHP可以識別的指令代碼,就能被PHP虛擬機執行;
感謝你能夠認真閱讀完這篇文章,希望小編分享PHP虛擬機是什么內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。