Go 中限制内联的策略
Go 的编译器经常使用内联,这是一种将函数体直接嵌入到其调用位置的技术。虽然内联可以提高性能,但在某些情况下它可能是不可取的。本文探讨了在 Go 中防止内联的各种方法。
禁用特定函数的内联
要限制特定函数的内联,请使用“//go:noinline “ 杂注。将其放在函数定义之前:
//go:noinline func isPrime(p int) bool { // ... }
禁用所有内联
要全局禁用内联,请使用“-gcflags=-l”标志调用编译器:
go build -gcflags=-l primes.go
此标志指示编译器优先考虑代码大小而不是性能优化。
以上是如何防止 Go 中的函数内联?的详细内容。更多信息请关注PHP中文网其他相关文章!