真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

在Go中怎么轉儲GOSSAFUNC圖

這篇文章主要介紹“在Go中怎么轉儲GOSSAFUNC圖”,在日常操作中,相信很多人在在Go中怎么轉儲GOSSAFUNC圖問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”在Go中怎么轉儲GOSSAFUNC圖”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

網(wǎng)站建設哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、微信小程序開發(fā)、集團企業(yè)網(wǎng)站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了覃塘免費建站歡迎大家使用!

Go 編譯器的 SSA 后端包含一種工具,可以生成編譯階段的 HTML 調(diào)試輸出。這篇文章介紹了如何為函數(shù)方法打印 SSA 輸出。

讓我們從一個包含函數(shù)、值方法和指針方法的示例程序開始:

package main import (    "fmt") type Numbers struct {    vals []int} func (n *Numbers) Add(v int) {    n.vals = append(n.vals, v)} func (n Numbers) Average() float64 {    sum := 0.0    for _, num := range n.vals {        sum += float64(num)    }    return sum / float64(len(n.vals))}  func main() {    var numbers Numbers    numbers.Add(200)    numbers.Add(43)    numbers.Add(-6)    fmt.Println(numbers.Average())}

通過 GOSSAFUNC 環(huán)境變量控制 SSA 調(diào)試輸出。此變量含有要轉儲的函數(shù)的名稱。這不是函數(shù)的完全限定名。對于上面的 func main,函數(shù)名稱為 main 而不是 main.main。

% env GOSSAFUNC=main go buildruntimedumped SSA to ../../go/src/runtime/ssa.htmltdumped SSA to ./ssa.html

在這個例子中,GOSSAFUNC=main 同時匹配了 main.main 和一個名為 runtime.main 的函數(shù)。[1]這有點不走運,但是實際上可能沒什么大不了的,因為如果你要對代碼進行性能調(diào)整,它就不會出現(xiàn)在 func main 中的巨大的意大利面塊中。

你的代碼更有可能在方法中,你可能已經(jīng)看到這篇文章,并尋找能夠轉儲方法的 SSA 輸出。

要為指針方法 func (n *Numbers) Add 打印 SSA 調(diào)試,等效函數(shù)名為 (*Numbers).Add[2]

% env "GOSSAFUNC=(*Numbers).Add" go buildtdumped SSA to ./ssa.html

要為值方法 func (n Numbers) Average 打印 SSA 調(diào)試,等效函數(shù)名為 (*Numbers).Average即使這是一個值方法

% env "GOSSAFUNC=(*Numbers).Average" go buildtdumped SSA to ./ssa.html

  1. 如果你沒有從源碼構建 Go,那么 runtime 軟件包的路徑可能是只讀的,并且可能會收到錯誤消息。請不要使用 sudo 來解決此問題。

  2. 請注意 shell 引用 。

到此,關于“在Go中怎么轉儲GOSSAFUNC圖”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
名稱欄目:在Go中怎么轉儲GOSSAFUNC圖
文章路徑:http://weahome.cn/article/gosjee.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部