久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

程序編譯

 怡紅公子0526 2021-05-13


https://www.bilibili.com/video/BV1UV411B7qU?p=7 筆記


程序的本質

  • 編譯器 將 程序代碼 轉化成 CPU 指令/機器碼;
  • 指令裝載到內(nèi)存中,;
  • CPU 讀取/寫入 內(nèi)存,;
  • CPU 控制計算機的硬件

CPU 中比較重要的組成

  • 寄存器,信息存儲
  • 運算器,,信息處理
  • 控制器,,控制其他器件進行工作

內(nèi)存 & 寄存器

內(nèi)存和寄存器都可以用來存放東西,但是寄存器就在 CPU 里面,,CPU 訪問它更快。

內(nèi)存和寄存器調用示例:
數(shù)據(jù)的計算

int a = 1;
int b = a + 1

a, b 都存在內(nèi)存中,,數(shù)據(jù)會送到寄存器進行計算(+1),,然后返回內(nèi)存。


程序語言的發(fā)展

  1. 機器語言
  2. 匯編語言
  3. 高級語言
  • 匯編語言 和 機器語言 是一一對應的,,每一條 機器指令 都有與之對應的 匯編指令,;
  • 匯編 通過 編譯 得到 機器語言,機器語言通過 反匯編 得到匯編語言;
  • 高級語言可以通過編譯得到匯編語言\機器語言,,但匯編語言\機器語言幾乎不可能還原成高級,;
  • 高級語言不能直接訪問寄存器;

編程語言的本質區(qū)別

JS/PHP 代碼最終會轉化為機器碼,,但看不到這個機器碼,;引擎屏蔽了這些細節(jié)。
Java 會轉化為字節(jié)碼,,由 JVM 裝載

  • 編譯型語言
    - C / C++ / OC / Swift
    - 容易被反匯編

  • 編譯型語言(依賴虛擬機)
    - Java / Ruby
    - Java 由 JVM 進行裝載字節(jié)碼
    - 虛擬機可以看做是小型操作系統(tǒng)

  • 腳本語言
    - Python / JS / PHP
    - PHP 由ZE(Zend Engine)進行解析


編譯語言要求全部都對才能執(zhí)行,;
腳本語言是一行一行去掃描執(zhí)行,,某一行出錯,前面會繼續(xù)執(zhí)行,,后面不會,。效率比編譯語言低,因為是運行時來處理,。


    本站是提供個人知識管理的網(wǎng)絡存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導購買等信息,謹防詐騙,。如發(fā)現(xiàn)有害或侵權內(nèi)容,,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多