go 逃逸分析
Tip
看过汇编后, 我们知道,在栈上的局部变量在函数返回后,会被释放,如果变量还会被引用到,那么就不能在栈上分配,编译器会将它设置为在堆上分配内存
1 分析方法
| item | description |
|---|---|
| -m | 打印逃逸分析信息 |
| xxx escapes to heap | 当前变量的一个副本拷贝在堆上进行分配 |
| moved to heap: xxx | 表示变量自身在堆上进行分配 |
| leaking param content: xxx | 表示如果这个变量为指针的话,则是其指向的内容在堆上分配 |
2024-10-28 13:21:57
2024-10-28 13:22:04
看过汇编后, 我们知道,在栈上的局部变量在函数返回后,会被释放,如果变量还会被引用到,那么就不能在栈上分配,编译器会将它设置为在堆上分配内存
| item | description |
|---|---|
| -m | 打印逃逸分析信息 |
| xxx escapes to heap | 当前变量的一个副本拷贝在堆上进行分配 |
| moved to heap: xxx | 表示变量自身在堆上进行分配 |
| leaking param content: xxx | 表示如果这个变量为指针的话,则是其指向的内容在堆上分配 |