首頁 > 後端開發 > Golang > 如何將外部 Go 程式碼動態連結到現有的 Go 二進位檔案?

如何將外部 Go 程式碼動態連結到現有的 Go 二進位檔案?

Mary-Kate Olsen
發布: 2024-12-04 22:16:14
原創
632 人瀏覽過

How Can I Dynamically Link External Go Code into an Existing Go Binary?

Go 二進位檔案中的動態連結

問題:

問題:

問題:

  • 解決方案:
  • 在 Go 1.5 及更高版本中,現在可以動態建置和連結共用程式庫。以下是實現所需功能的方法:
    $ go install -buildmode=shared std
    登入後複製

      建立共用程式庫:
    此指令將標準函式庫建置為共用程式庫。

    $ go build -linkshared hello.go
    登入後複製
      編譯外部Go檔:
    • 編譯外部Go檔案如下:

    $ go install -linkshared mybinary.go
    登入後複製

    package main
    
    import (
        "fmt"
        "github.com/myimportpath/mypackage"
    )
    
    func main() {
        fmt.Println("Before calling compiled code")
        mypackage.RunFoo()
        fmt.Println("After calling compiled code")
    }
    登入後複製
    編譯外部Go 檔案後,可以使用-linkshared 將其連結到現有的二進位檔案標誌:用法:用法:用法:用法:用法: 在現有的二進位檔案中,您現在可以像呼叫中定義的任何其他函數一樣呼叫新編譯的程式碼二進位本身。 範例:

    以上是如何將外部 Go 程式碼動態連結到現有的 Go 二進位檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

    來源:php.cn
    本網站聲明
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
    作者最新文章
    熱門教學
    更多>
    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板