W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
作為下一章goroutine調(diào)度的一個前序,本章先講一些基礎(chǔ)內(nèi)容,看一看Go語言編寫的程序的初始化過程。其實初始化過程中會做很多很多的事情,這里忽略大部分細(xì)節(jié),只看一下脈絡(luò)。從程序入口開始分析也是學(xué)習(xí)源代碼的一個好方式。
首先,寫一個hello world文件,內(nèi)容如下:
package main
import "fmt"
func main() {
fmt.Println("hello world!")
}
編譯,使用gdb調(diào)試。給下列函數(shù)下斷點:
_rt0_amd64_darwin
main
_rt0_amd64
runtime.check
runtime.args
runtime.osinit
runtime.hashinit
runtime.schedinit
runtime.newproc
runtime.mstart
main.main
runtime.exit
你可能需要根據(jù)自己的系統(tǒng)將_rt0_amd64_darwin改成_rt0_amd64_linux或者別的。在gdb中先點r,回車,然后點c,回車,接著一路回車。
別著急,只是讓你有一個直觀的感受一下Go程序從系統(tǒng)初始化直到退出必經(jīng)的流程。下面讓我們正式開始吧!
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: