第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

/usr/lib/golang/src 和 /usr/lib/golang/pkg 是什么關(guān)系

/usr/lib/golang/src 和 /usr/lib/golang/pkg 是什么關(guān)系

Go
慕工程0101907 2022-05-23 17:48:35
如果我為 Go 安裝發(fā)行版包,我/usr/lib/golang/pkg會(huì)在/usr/lib/golang/src. 這兩組有什么關(guān)系?是pkg從源代碼生成的編譯庫src嗎?假設(shè)一個(gè)使用標(biāo)準(zhǔn)包的 Go 程序,運(yùn)行 Go 程序是否需要fmt編譯的庫?pkg是否需要編譯 Go 程序?src編譯 Go 程序需要源代碼嗎?
查看完整描述

2 回答

?
慕桂英546537

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超10個(gè)贊

源代碼

此目錄包含組織為包的源文件。

該目錄包含從 src 目錄 Go 源代碼包編譯的 Go 包對象。如果一個(gè)包不包含帶有main包聲明的文件,那么 Go 在目錄中創(chuàng)建一個(gè)包存檔 (.a) 文件pkg。包對象在鏈接時(shí)用于在 bin 目錄中創(chuàng)建完整的 Go 可執(zhí)行二進(jìn)制文件。

因此,一旦我們編譯了一個(gè)包,我們就可以將該對象鏈接到許多可執(zhí)行文件中。就像, fmt是編譯好的庫pkg,所以不需要再次編譯。我們可以鏈接該對象以運(yùn)行所有 Go 程序。


查看完整回答
反對 回復(fù) 2022-05-23
?
慕的地8271018

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊

Go 安裝pkg樹包含多個(gè)不同的東西:

  • 樹中pkg/tool有 Go 編譯器本身和其他相關(guān)工具。這些是某些os-arch組合的二進(jìn)制文件。當(dāng)然,這對于構(gòu)建 Go 軟件是完全必要的。

  • 還將有一個(gè)或多個(gè)os-arch樹,其中包含用于 go stdlib 的編譯庫。對于用于交叉編譯的 go 安裝,這將與 in 的 os-arch 組合不同pkg/tool

  • 中還有一些 C 頭文件pkg/include。

在 Go 安裝src樹中有多個(gè)不同的東西:

  • 在 下src/cmd,有 Go 編譯器和工具的源代碼。構(gòu)建 Go 軟件不需要此源。

  • 其他地方src是 go stdlib 的源代碼。這也是構(gòu)建軟件所必需的。

中的庫和可執(zhí)行文件pkg是為特定的 os-arch組合構(gòu)建的,來自src.

這些庫不需要構(gòu)建軟件,因?yàn)?go 將從源代碼重新構(gòu)建??蓤?zhí)行文件是必需的,go構(gòu)建系統(tǒng)將使用它們。

src不需要編譯器的源代碼。go stdlib的源代碼是必要的,至少對于所有實(shí)際目的。 go build即使有合適的編譯庫可用,也會(huì)堅(jiān)持尋找源代碼并拒絕構(gòu)建如果它不存在。

從 go 1.7 到 go 1.12 支持僅二進(jìn)制包,但它被刪除了。


查看完整回答
反對 回復(fù) 2022-05-23
  • 2 回答
  • 0 關(guān)注
  • 164 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)