乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      程序編譯

       怡紅公子0526 2021-05-13


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


      程序的本質(zhì)

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

      CPU 中比較重要的組成

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

      內(nèi)存 & 寄存器

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

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

      int a = 1;
      int b = a + 1
      

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


      程序語言的發(fā)展

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

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

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

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

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

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


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


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

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多