亚洲综合在线一区二区三区-日韩超碰人人爽人人做人人添-麻豆国产精品久久人妻-无码人妻丰满熟妇啪啪-天堂精品一区二区三区-99久久综合狠狠综合久久aⅴ

×
新網 > 虛擬主機 > 正文

匯編器與虛擬機

  • 作者:新網
  • 來源:新網
  • 瀏覽:100
  • 2018-05-10 13:22:51

上篇文章主要觀點是程序實現就是一個翻譯過程,最終會翻譯成(JIT)CPU指令。我們倒著推,那么GIT的上層就是虛擬機,而虛擬機是針對中間字節碼的。中間字節碼就是油匯編器對匯編語言文件的一個翻譯。

   上篇文章主要觀點是程序實現就是一個翻譯過程,最終會翻譯成(JIT)CPU指令。我們倒著推,那么GIT的上層就是虛擬機,而虛擬機是針對中間字節碼的。中間字節碼就是油匯編器對匯編語言文件的一個翻譯。

Cg-4WlGqHDyIXbC2AAFEbC-WlaEAAJOZQKJsoQAAUSE577.jpg

<div>  那么我們先來談談匯編器(虛擬匯編):
  對于匯編器實現中的詞法分析肯定是很簡單的,語法分析也嗯容易,因為其語法大致有三種:
  1:函數定義
  2:標簽定義
  3:定義變量
  3:匯編指令語句
  所以語法分析的結果就是要得到所有的函數定義表,然后每個函數中又有標簽表和變量表)
  我們的目的是生成中間字節碼,以至于提高速度,那么盡量讓每個指令干自己指令內部的事情而不需要關心其他(否則速度就降下來了)。
  這樣虛擬機的實現也就更簡單。
  因為虛擬機的實現大概只需要一個函數表以及一個運行時堆棧就OK。那么我們的中間字節碼中的虛擬指令就應該只針對棧進行操作(而且都是固定了偏移的)
  (想象一下,如果不存在匯編器,而進行純粹的語言解釋器,那么會通過一個map結構去查詢某個變量,而先通過匯編器-(可以看成預處理,事實上預處理也就是一個翻譯過程)
  去生成中間指令,給每個變量安排一個相對索引,那么查詢某變量,只需要一個常量時間-更短的時間即可)
  (正因為預處理-翻譯過程,所以才使得下一步過程的執行速度才更快)
  接下來就是代碼生成,寫入OPcode,然后它具有參數,而參數無非就是一個特定偏移。
  虛擬機去執行這個中間字節碼,提供一個堆棧作為運行時。

免責聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,也不承認相關法律責任。如果您發現本社區中有涉嫌抄襲的內容,請發送郵件至:operations@xinnet.com進行舉報,并提供相關證據,一經查實,本站將立刻刪除涉嫌侵權內容。

免費咨詢獲取折扣

Loading
主站蜘蛛池模板: 国产成人啪精品视频免费软件| 国产自国产自愉自愉免费24区| 久久综合给合久久狠狠97色| 欧美国产一区国产二区| 一区二区三区精品久久久| 一本久久综合亚洲鲁鲁五月天 | 国精产品一区一区三区有限在线| 国产麻豆精品一区| 精品人妻人人做人人爽| 国产成人精品999在线观看| 在线观看肉片av网站免费| 亚洲欧美日韩中字视频三区| 亚洲成a人片在线观看日本| 亚洲精品毛片av一区二区三区| 午夜福利片1000无码免费| 强奷乱码中文字幕熟女导航| 日本高清在线天码一区播放 | 成人片无码免费播放| 日本不卡高字幕在线2019| 熟女少妇丰满一区二区| 国产激情久久久久影院| 久久自己只精产国品| 日本不卡一区| 国产果冻豆传媒麻婆精东| 一区二区三区高清福利| 亚洲av秘一区二区三区| 四虎亚洲精品无码| 日本久久久久久久久久加勒比| 久久天天躁狠狠躁夜夜爽| 国产精品嫩草影院免费观看| 国产公开免费人成视频| 中文有码视频在线播放免费| 人妻少妇久久中文字幕456| 欧美精品偷自拍另类在线观看| 久久久精品456亚洲影院| 中文字幕在线亚洲二区| 亚洲成亚洲成网| 久久视热这里只有精品| 国产成人免费无码av在线播放| 亚洲中文字幕在线第六区| 久久永久免费人妻精品下载|