首页 > 解决方案 > 如何通过 go build 插件减少 .so 文件编译

问题描述

soMain.go

package main

import (
    "context"
    "fmt"
    )

func ContextTest(ctx context.Context){
    msg := ctx.Value("myStruct")
    fmt.Println("request:",msg)
}

编译顺序

go build -a -buildmode=plugin -ldflags="-w -s" soMain.go

文件大小

[root@dwrj60136 about_so]# ls -ls
   4 -rw-r--r-- 1 root root     160 March  29 10:48 soMain.go
2464 -rw-r--r-- 1 root root 2520168 March  30 15:16 soMain.so

我怎样才能减少这个 .so 文件的大小,并保证插件的可用性。

标签: go

解决方案


我怎样才能减小这个 .so 文件的大小 [?]

你不能。

您的问题看起来像一个 XY 问题,因为在插件的任何正常用例中生成的插件 .so 文件有多大都没有关系。


推荐阅读