gpt4 book ai didi

go - Go 运行时怎么可能用 Go 编写?

转载 作者:IT王子 更新时间:2023-10-29 01:06:07 32 4
gpt4 key购买 nike

read从 Go 1.4 开始,Go 运行时是用 Go 本身编写的(而不是用 C)。

这怎么可能?如果 Go 程序在运行时之上运行,并且运行时是 Go 程序,那么运行时是否在自身之上运行?

最佳答案

简而言之:仔细。

总而言之:unsafe 包可以让你进行指针算术和任意转换,你需要实现 go 的 gc。避免像在普通 go 代码中那样在 gc go 代码中使用 gc:通过使用堆栈或静态分配的数据。下面的链接提到主线 go 编译器通过一个未记录的选项在运行时强制执行此操作。一些汇编位允许您进行系统调用,这使您可以执行从生成进程到打开文件的所有操作。

更长更权威:参见Ian Lance Taylor (of the go team)'s post on golang-nuts .

关于go - Go 运行时怎么可能用 Go 编写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34756262/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com