golang的基礎概念

孙龙-程序员發表於2024-12-08

何為runtime?

很多語言都有 Runtime

go的runtime特點

  1. 沒有虛擬機器的概念
  2. Runtime 作為程式的一部分打包進二進位制產物
  3. Runtime 隨使用者程式一起執行
  4. Runtime 與使用者程式沒有明顯界限,直接透過函式呼叫

  • 記憶體管理能力
  • 垃圾回收能力(GC)
  • 超強的併發能力(協程排程)

總結:

  • Go 的 Runtime 負責記憶體管理、垃圾回收、協程排程
  • Go 的 Runtime 被編譯為使用者程式的一部分,一起執行

go的編譯過程

詞法分析:

句法分析

語義分析

中間碼生成(SSA)

機器碼生成

  • 先生成Plan9彙編程式碼
  • 最後編譯為機器碼

連結

  • 將各個包進行連結,包括runtime

go程式是如何執行的,是main()方法嗎?

  • runtime/rt0 XXX.s

相關文章