最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

go 1.20后關(guān)于 go tool compile匯編代碼引入包找不到的問題處理

2023-05-10 00:59 作者:誤入歧途的先森  | 我要投稿

今天準(zhǔn)備跟大家講解關(guān)于interface的 帶方法的非空接口 和 不帶方法的空接口;

看一下匯編代碼中的深層數(shù)據(jù)結(jié)構(gòu);

回家執(zhí)行:

go tool compile -S interface2.go

Interface2.go文件

發(fā)現(xiàn)虛擬機(jī)中命令行報(bào)錯(cuò):

我就很納悶兒,我在公司是沒問題的,因此我google找一些大佬看下問題;

的問題;

知道了編譯過程中fmt這個(gè)包會(huì)編譯成一個(gè)靜態(tài)庫文件.a

這樣我就專門寫了一個(gè)引用 fmt包的go文件進(jìn)行g(shù)o build 查看其編譯過程;

go build -x -v -a myA.go 2>&1 | more > br.txt

將myA.go文件進(jìn)行編譯查看其編譯過程,導(dǎo)入到br.txt文件中

package main

import "fmt"

func main() {
? ?fmt.Println(1)
}

找到文件中編譯過程中的fmt包編譯過程:

/usr/local/go/pkg/tool/linux_amd64/compile -o $WORK/b002/_pkg_.a -trimpath "$WORK/b002=>" -p fmt -std -complete -buildid S7VmaYzQ3wdSCzOFapTF/S7VmaYzQ3wdSCzOFapTF -goversion go1.20.3 -nolocalimports -importcfg $WORK/b002/importcfg -pack /usr/local/go/src/fmt/doc.go /usr/local/go/src/fmt/errors.go /usr/local/go/src/fmt/format.go /usr/local/go/src/fmt/print.go /usr/local/go/src/fmt/scan.go

將其改成我自己手動(dòng)執(zhí)行的:

/usr/local/go/pkg/tool/linux_amd64/compile -o pkg.a -p fmt -std -complete -buildid S7VmaYzQ3wdSCzOFapTF/S7VmaYzQ3wdSCzOFapTF -goversion go1.20.3 -nolocalimports -pack /usr/local/go/src/fmt/doc.go /usr/local/go/src/fmt/errors.go /usr/local/go/src/fmt/format.go /usr/local/go/src/fmt/print.go /usr/local/go/src/fmt/scan.go

發(fā)現(xiàn)不行報(bào)錯(cuò):

發(fā)現(xiàn)包還會(huì)引用更多的包,因此直接找編譯生成好的.a文件直接用;

找到了這一行:


直接到:

/root/.cache/go-build/b7/

這個(gè)路徑下找,還真找到了這個(gè)文件;

將這個(gè)文件拷貝到,我們需要匯編的文件夾:

創(chuàng)建 fmt包替換文件:

importcfg.txt 內(nèi)容:

packagefile fmt=fmt.a

之后直接進(jìn)行匯編:

go tool compile -p twzz -importcfg importcfg.txt interface2.go

生成了.o的匯編文件;我們就可以通過指令查看我們需要的匯編代碼了:

go tool objdump -S -s "^twzz.p3e$" interface2.o

我們?nèi)绻枰约旱膮R編代碼:

go tool compile -p foo -o foo.a -importcfg importcfg.txt foo.go

網(wǎng)址:

Go1.20編譯靜態(tài)庫過程記錄

https://blog.csdn.net/baixvkwfn/article/details/128942195

golang中生成靜態(tài)庫(.a文件)并操作靜態(tài)庫

https://blog.csdn.net/huha666/article/details/121305696


go 1.20后關(guān)于 go tool compile匯編代碼引入包找不到的問題處理的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
聂荣县| 安溪县| 怀柔区| 乐业县| 公主岭市| 聂拉木县| 威海市| 广河县| 神农架林区| 吴忠市| 甘洛县| 法库县| 鲁山县| 海丰县| 迭部县| 涿州市| 高陵县| 和林格尔县| 阿合奇县| 芜湖市| 平乡县| 乌什县| 高碑店市| 马龙县| 长宁县| 五华县| 靖江市| 巨鹿县| 伊金霍洛旗| 张家港市| 勃利县| 瑞丽市| 六枝特区| 陆川县| 沂南县| 阜新市| 广河县| 文水县| 龙南县| 平度市| 永宁县|