如何檢查 Go 包/對(duì)象文件的內(nèi)容 (,.a.o)我唯一發(fā)現(xiàn)的是顯示與 的完整拆卸。go tool objdump但是如何顯示文件結(jié)構(gòu),例如導(dǎo)入和導(dǎo)出的符號(hào),代碼,數(shù)據(jù)和其他部分,其他元數(shù)據(jù)等?
1 回答

HUX布斯
TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超6個(gè)贊
編譯的 Go 包存儲(chǔ)在 Unix ar 存檔文件中,因此您可以使用 或 解壓縮其中的文件。ar
go tool pack x pkg.a
包文件包含鏈接器用于生成二進(jìn)制文件的已編譯代碼 (),以及編譯器在生成依賴(lài)包時(shí)使用的導(dǎo)出數(shù)據(jù) ()。如果包包含程序集文件或 cgo 代碼,則可能還有其他文件。_go_.o
__.PKGDEF
.o
您可以使用 golang.org/x/tools/go/gcexportdata
將導(dǎo)出數(shù)據(jù)讀取為可以通過(guò) go/類(lèi)型
理解的格式。
聽(tīng)起來(lái)你已經(jīng)找到了拆卸。您可能還會(huì)發(fā)現(xiàn) go 工具 nm
對(duì)于列出符號(hào)很有用。go tool objdump
- 1 回答
- 0 關(guān)注
- 113 瀏覽
添加回答
舉報(bào)
0/150
提交
取消