美文网首页
golang编译时的参数传递(gcflags, ldflags)

golang编译时的参数传递(gcflags, ldflags)

作者: robertzhai | 来源:发表于2023-02-11 10:01 被阅读0次

-gcflags

指定编译选项

-ldflags

设置链接选项

查看gcflags所有可用的参数

go tool compile --help

分析go是如何分配内存的, 查看堆逃逸

go run -gcflags "-m -l " main.go

example

type User struct {
    name string
}

func getUser() *User {
    user := User{name: "golang"}
    return &user
}

func main() {
    fmt.Println(getUser())
}

output

# command-line-arguments
./main.go:10:2: moved to heap: user
./main.go:16:13: ... argument does not escape
&{golang}

user 逃逸到堆了

链接器

go tool link --help

ref

相关文章

网友评论

      本文标题:golang编译时的参数传递(gcflags, ldflags)

      本文链接:https://www.haomeiwen.com/subject/ssvmhdtx.html