Go plan9 汇编:内存对齐和递归
前言 在 Go plan9 汇编系列文章中,介绍了函数和函数栈的调用。这里继续看内存对齐和递归调用方面的内容。 内存对齐 直接上示例: 1type temp struct { 2 a bool 3 b int16 4 c []string 5} 6 7func main() { 8 var t = temp{a: true, b: 1, c: []string{}} 9 fmt.Println(unsafe.Sizeof(t)) 10} 输出: ...
前言 在 Go plan9 汇编系列文章中,介绍了函数和函数栈的调用。这里继续看内存对齐和递归调用方面的内容。 内存对齐 直接上示例: 1type temp struct { 2 a bool 3 b int16 4 c []string 5} 6 7func main() { 8 var t = temp{a: true, b: 1, c: []string{}} 9 fmt.Println(unsafe.Sizeof(t)) 10} 输出: ...
前言 函数是 Go 的一级公民,本文从汇编角度出发看看我们常用的一些函数在干什么。 函数 main 函数 在 main 函数中计算两数之和如下: 1package main 2 3func main() { 4 x, y := 1, 2 5 z := x + y 6 print(z) 7} 使用 dlv 调试函数(不了解 dlv 的请看 Go plan9 汇编: 打通应用到底层的任督二脉): ...
前言 在 Go plan9 汇编: 打通应用到底层的任督二脉 一文中介绍了从应用程序到汇编指令的转换。本文将结合汇编和 Go 程序实现手写基本的汇编指令,以加深对 Go plan9 汇编的了解。 ...