mirror of
https://github.com/chai2010/advanced-go-programming-book.git
synced 2025-05-29 16:22:21 +00:00
ch3-06: 开个头
This commit is contained in:
parent
3034c445aa
commit
b37927bd84
@ -28,7 +28,7 @@
|
||||
* [3.3. 常量和全局变量](ch3-asm/ch3-03-const-and-var.md)
|
||||
* [3.4. 函数](ch3-asm/ch3-04-func.md)
|
||||
* [3.5. 控制流](ch3-asm/ch3-05-control-flow.md)
|
||||
* [3.6. 再论函数(TODO)](ch3-asm/ch3-06-func-again.md)
|
||||
* [3.6. 再论函数(Doing)](ch3-asm/ch3-06-func-again.md)
|
||||
* [3.7. FUNCDATA和PCDATA(TODO)](ch3-asm/ch3-07-funcdata-pcdata.md)
|
||||
* [3.8. C预处理器(TODO)](ch3-asm/ch3-08-c-preprocessors.md)
|
||||
* [3.9. Go核心对象结构(TODO)](ch3-asm/ch3-09-core-type.md)
|
||||
|
@ -1,3 +1,5 @@
|
||||
# 3.6. 再论函数(TODO)
|
||||
# 3.6. 再论函数(Doing)
|
||||
|
||||
在前面的章节中我们已经简单讨论过Go的汇编函数,但是那些主要是叶子函数。叶子函数的最大特点是不会调用其他函数,也就是栈的大小是可以预期的,叶子函数也就是可以基本忽略爆栈的问题(如果已经爆了,那也是上级函数的问题)。如果没有爆栈问题,那么也就是不会有栈的分裂问题;如果没有栈的分裂也就不需要移动栈上的指针,也就不会有栈上指针管理的问题。但是是现实中Go语言的函数是可以任意深度调用的,永远不用担心爆栈的风险。那么这些近似黑科技的特殊是如何通过低级的汇编语言实现的呢?这些都是本节尝试讨论的问题。
|
||||
|
||||
TODO
|
||||
|
Loading…
x
Reference in New Issue
Block a user